Trait ViewMutElement

Source
pub trait ViewMutElement: Sized {
    // Required method
    fn bytes_as_mut_slice<'a>(
        bytes: &'a mut [u8],
        type_desc: &PyValue,
        len: usize,
    ) -> Result<&'a mut [Self], ViewDataError>;
}
Expand description

An array element type that can be mutably viewed (without copying) in an .npy file.

Required Methods§

Source

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &PyValue, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Casts bytes into a mutable slice of elements of length len.

Returns Err(_) in at least the following cases:

  • if the type_desc does not match Self with native endianness
  • if the bytes slice is misaligned for elements of type Self
  • if the bytes slice is too short for len elements
  • if the bytes slice has extra bytes after len elements

May panic if len * size_of::<Self>() overflows.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl ViewMutElement for bool

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &PyValue, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Source§

impl ViewMutElement for f32

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &Value, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Source§

impl ViewMutElement for f64

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &Value, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Source§

impl ViewMutElement for i8

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &PyValue, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Source§

impl ViewMutElement for i16

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &Value, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Source§

impl ViewMutElement for i32

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &Value, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Source§

impl ViewMutElement for i64

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &Value, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Source§

impl ViewMutElement for u8

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &PyValue, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Source§

impl ViewMutElement for u16

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &Value, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Source§

impl ViewMutElement for u32

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &Value, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Source§

impl ViewMutElement for u64

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &Value, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Source§

impl ViewMutElement for Complex<f32>

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &Value, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Source§

impl ViewMutElement for Complex<f64>

Source§

fn bytes_as_mut_slice<'a>( bytes: &'a mut [u8], type_desc: &Value, len: usize, ) -> Result<&'a mut [Self], ViewDataError>

Implementors§