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§
Sourcefn bytes_as_slice<'a>(
bytes: &'a [u8],
type_desc: &PyValue,
len: usize,
) -> Result<&'a [Self], ViewDataError>
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 matchSelf
with native endianness - if the
bytes
slice is misaligned for elements of typeSelf
- if the
bytes
slice is too short forlen
elements - if the
bytes
slice has extra bytes afterlen
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.