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.

Structs

A u8 array of little-endian data corresponding to a Unicode code point.

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.

This type is the ULE type for Option<U> where U is a ULE type

A type allowing one to represent Option<U> for VarULE U types.

A u8 array of little-endian data with infallible conversions to and from &u8.

Enums

A generic 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.

An EqULE type is one whose byte sequence equals the byte sequence of its ULE type on little-endian platforms. This enables certain performance optimizations, such as ZeroVec::try_from_slice.

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

Given an EncodeAsVarULE type S, encode it into a Box<T>

Derive Macros

Custom derive for ULE.

Custom derive for VarULE