Trait zerovec::ule::AsULE [−][src]
pub trait AsULE { type ULE: ULE; fn as_unaligned(&self) -> Self::ULE; fn from_unaligned(unaligned: &Self::ULE) -> Self; }
Expand description
A trait for any type that has a 1:1 mapping with an unaligned little-endian (ULE) type.
Associated Types
Required methods
fn as_unaligned(&self) -> Self::ULE
fn as_unaligned(&self) -> Self::ULE
Converts from &Self
to Self::ULE
.
This function may involve byte order swapping (native-endian to little-endian).
For best performance, mark your implementation of this function #[inline]
.
fn from_unaligned(unaligned: &Self::ULE) -> Self
fn from_unaligned(unaligned: &Self::ULE) -> Self
Converts from &Self::ULE
to Self
.
This function may involve byte order swapping (little-endian to native-endian).
For best performance, mark your implementation of this function #[inline]
.
Safety
This function is infallible because bit validation should have occured when Self::ULE
was first constructed. An implementation may therefore involve an unsafe{}
block, like
from_bytes_unchecked()
.
Implementations on Foreign Types
type ULE = PlainOldULE<2>
type ULE = PlainOldULE<4>
type ULE = PlainOldULE<8>
type ULE = PlainOldULE<16>
type ULE = PlainOldULE<2>
type ULE = PlainOldULE<4>
type ULE = PlainOldULE<8>
type ULE = PlainOldULE<16>