#[repr(C)]pub struct rb_memory_view_t {Show 13 fields
pub obj: VALUE,
pub data: *mut c_void,
pub byte_size: ssize_t,
pub readonly: bool,
pub format: *const c_char,
pub item_size: ssize_t,
pub item_desc: rb_memory_view_t__bindgen_ty_1,
pub ndim: ssize_t,
pub shape: *const ssize_t,
pub strides: *const ssize_t,
pub sub_offsets: *const ssize_t,
pub private_data: *mut c_void,
pub _memory_view_entry: *const rb_memory_view_entry,
}Expand description
A MemoryView structure, [rb_memory_view_t], is used for exporting objects’
MemoryView.
§This structure contains the reference of the object, which is the owner of the MemoryView, the pointer to the head of exported memory, and the metadata that describes the structure of the memory. The metadata can describe multidimensional arrays with strides.
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3
Fields§
§obj: VALUE§The original object that has the memory exported via this memory view.
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3
data: *mut c_void§byte_size: ssize_t§readonly: bool§true for readonly memory, false for writable memory.
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3
format: *const c_charA string to describe the format of an element, or NULL for unsigned bytes. The format string is a sequence of the following pack-template specifiers:
c, C, s, s!, S, S!, n, v, i, i!, I, I!, l, l!, L, L!, N, V, f, e, g, q, q!, Q, Q!, d, E, G, j, J, x
For example, “dd” for an element that consists of two double values, and “CCC” for an element that consists of three bytes, such as an RGB color triplet.
Also, the value endianness can be explicitly specified by ‘<’ or ‘>’ following a value type specifier.
§The items are packed contiguously. When you emulate the alignment of structure members, put ‘|’ at the beginning of the format string, like “|iqc”. On x86_64 Linux ABI, the size of the item by this format is 24 bytes instead of 13 bytes.
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3
item_size: ssize_t§The number of bytes in each element.
item_size should equal to rb_memory_view_item_size_from_formatformat).
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3
item_desc: rb_memory_view_t__bindgen_ty_1Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3
ndim: ssize_t§shape: *const ssize_t§ndim size array indicating the number of elements in each dimension. This can be NULL when ndim == 1.
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3
strides: *const ssize_t§ndim size array indicating the number of bytes to skip to go to the next element in each dimension.
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3
sub_offsets: *const ssize_t§The offset in each dimension when this memory view exposes a nested array. Or, NULL when this memory view exposes a flat array.
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3
private_data: *mut c_void§The private data for managing this exported memory
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3
_memory_view_entry: *const rb_memory_view_entry§DO NOT TOUCH THIS: The memory view entry for the internal use
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3
Trait Implementations§
Source§impl Clone for rb_memory_view_t
impl Clone for rb_memory_view_t
Source§fn clone(&self) -> rb_memory_view_t
fn clone(&self) -> rb_memory_view_t
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for rb_memory_view_t
impl Debug for rb_memory_view_t
Source§impl PartialEq for rb_memory_view_t
impl PartialEq for rb_memory_view_t
impl Copy for rb_memory_view_t
impl Eq for rb_memory_view_t
impl StructuralPartialEq for rb_memory_view_t
Auto Trait Implementations§
impl Freeze for rb_memory_view_t
impl RefUnwindSafe for rb_memory_view_t
impl !Send for rb_memory_view_t
impl !Sync for rb_memory_view_t
impl Unpin for rb_memory_view_t
impl UnwindSafe for rb_memory_view_t
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)