Skip to main content

ViewElement

Trait 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.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl ViewElement for Complex<f32>

Available on crate feature num-complex-0_4 only.
Source§

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

Source§

impl ViewElement for Complex<f64>

Available on crate feature num-complex-0_4 only.
Source§

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

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>

Implementors§