Trait ndarray_npy::ViewElement

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

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

Required Methods§

source

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

Casts bytes into a 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.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ViewElement for bool

source§

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

source§

impl ViewElement for f32

source§

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

source§

impl ViewElement for f64

source§

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

source§

impl ViewElement for i8

source§

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

source§

impl ViewElement for i16

source§

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

source§

impl ViewElement for i32

source§

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

source§

impl ViewElement for i64

source§

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

source§

impl ViewElement for u8

source§

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

source§

impl ViewElement for u16

source§

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

source§

impl ViewElement for u32

source§

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

source§

impl ViewElement for u64

source§

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

source§

impl ViewElement for Complex<f32>

source§

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

source§

impl ViewElement for Complex<f64>

source§

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

Implementors§