rb_memory_view_t

Struct rb_memory_view_t 

Source
#[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

§The pointer to the exported memory.

Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3

§byte_size: ssize_t

§The number of bytes in data.

Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3

§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_char

A 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_1

Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3

§ndim: ssize_t

§The number of dimension.

Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.2.3

§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

Source§

fn clone(&self) -> rb_memory_view_t

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for rb_memory_view_t

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for rb_memory_view_t

Source§

fn eq(&self, other: &rb_memory_view_t) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for rb_memory_view_t

Source§

impl Eq for rb_memory_view_t

Source§

impl StructuralPartialEq for rb_memory_view_t

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.