[−][src]Module heed_types::integer
Byte order-aware numeric primitives.
This module contains equivalents of the native multi-byte integer types with no alignment requirement and supporting byte order conversions.
For each native multi-byte integer type - u16
, i16
, u32
, etc - an
equivalent type is defined by this module - U16
, I16
, U32
, etc.
Unlike their native counterparts, these types have alignment 1, and take a
type parameter specifying the byte order in which the bytes are stored in
memory. Each type implements the Zeroable
, and Pod
traits.
These two properties, taken together, make these types very useful for defining data structures whose memory layout matches a wire format such as that of a network protocol or a file format. Such formats often have multi-byte values at offsets that do not respect the alignment requirements of the equivalent native types, and stored in a byte order not necessarily the same as that of the target platform.
Structs
I16 | A 16-bit signed integer
stored in |
I32 | A 32-bit signed integer
stored in |
I64 | A 64-bit signed integer
stored in |
I128 | A 128-bit signed integer
stored in |
U16 | A 16-bit unsigned integer
stored in |
U32 | A 32-bit unsigned integer
stored in |
U64 | A 64-bit unsigned integer
stored in |
U128 | A 128-bit unsigned integer
stored in |