Trait zerovec::ule::AsULE[][src]

pub trait AsULE: Copy {
    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

The ULE type corresponding to Self.

Types having infallible conversions from all bit values (Plain Old Data) can use PlainOldULE with the desired width; for example, u32 uses PlainOldULE<4>.

Types that are not well-defined for all bit values should implement a custom ULE.

Required methods

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

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 occurred when Self::ULE was first constructed. An implementation may therefore involve an unsafe{} block, like from_bytes_unchecked().

Implementations on Foreign Types

Implementors