Expand description
Traits over unaligned little-endian data (ULE, pronounced “yule”).
The main traits for this module are ULE
, AsULE
and, VarULE
.
See the design doc for details on how these traits works under the hood.
Modules§
- Documentation on implementing custom VarULE types.
- ULE impls for tuples.
VarULE
impls for tuples.
Structs§
- A u8 array of little-endian data corresponding to a Unicode scalar value.
- This type is used by the custom derive to represent multiple
VarULE
fields packed into a single end-of-struct field. It is not recommended to use this type directly, useTuple2VarULE
etc instead. - Optional type which uses
NichedOptionULE<U,N>
as ULE type. - A u8 array of little-endian data with infallible conversions to and from &u8.
Enums§
- An error type to be used for decoding slices of ULE types
Traits§
- A trait for any type that has a 1:1 mapping with an unaligned little-endian (ULE) type.
- Allows types to be encoded as VarULEs. This is highly useful for implementing VarULE on custom DSTs where the type cannot be obtained as a reference to some other type.
- A type whose byte sequence equals the byte sequence of its ULE type on little-endian platforms.
- The
ULE
types implementing this trait guarantee thatNicheBytes::NICHE_BIT_PATTERN
can never occur as a valid byte representation of the type. - A trait for a type where aligned slices can be cast to unaligned slices.
- Fixed-width, byte-aligned data that can be cast to and from a little-endian byte slice.
- Variable-width, byte-aligned data that can be cast to and from a little-endian byte slice.
Functions§
Unions§
ULE
type forNichedOption<U,N>
where U implementsNicheBytes
. The invalid bit pattern is used as the niche.