[−][src]Trait packed_struct::PackedStruct
A structure that can be packed and unpacked from a byte array.
In case the structure occupies less bits than there are in the byte array, the packed that should be aligned to the end of the array, with leading bits being ignored.
10 bits packs into: [0b00000011, 0b11111111]
Associated Types
Loading content...Required methods
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
Packs the structure into a byte array.
fn unpack(src: &Self::ByteArray) -> PackingResult<Self>
[src]
Unpacks the structure from a byte array.
Implementations on Foreign Types
impl PackedStruct for [u8; 0]
[src]
type ByteArray = [u8; 0]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 1]
[src]
type ByteArray = [u8; 1]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 2]
[src]
type ByteArray = [u8; 2]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 3]
[src]
type ByteArray = [u8; 3]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 4]
[src]
type ByteArray = [u8; 4]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 5]
[src]
type ByteArray = [u8; 5]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 6]
[src]
type ByteArray = [u8; 6]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 7]
[src]
type ByteArray = [u8; 7]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 8]
[src]
type ByteArray = [u8; 8]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 9]
[src]
type ByteArray = [u8; 9]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 10]
[src]
type ByteArray = [u8; 10]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 11]
[src]
type ByteArray = [u8; 11]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 12]
[src]
type ByteArray = [u8; 12]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 13]
[src]
type ByteArray = [u8; 13]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 14]
[src]
type ByteArray = [u8; 14]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 15]
[src]
type ByteArray = [u8; 15]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 16]
[src]
type ByteArray = [u8; 16]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 17]
[src]
type ByteArray = [u8; 17]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 18]
[src]
type ByteArray = [u8; 18]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 19]
[src]
type ByteArray = [u8; 19]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 20]
[src]
type ByteArray = [u8; 20]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 21]
[src]
type ByteArray = [u8; 21]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 22]
[src]
type ByteArray = [u8; 22]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 23]
[src]
type ByteArray = [u8; 23]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 24]
[src]
type ByteArray = [u8; 24]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 25]
[src]
type ByteArray = [u8; 25]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 26]
[src]
type ByteArray = [u8; 26]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 27]
[src]
type ByteArray = [u8; 27]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 28]
[src]
type ByteArray = [u8; 28]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 29]
[src]
type ByteArray = [u8; 29]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 30]
[src]
type ByteArray = [u8; 30]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 31]
[src]
type ByteArray = [u8; 31]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for [u8; 32]
[src]
type ByteArray = [u8; 32]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<Self::ByteArray, PackingError>
[src]
impl PackedStruct for bool
[src]
type ByteArray = [u8; 1]
fn pack(&self) -> PackingResult<[u8; 1]>
[src]
fn unpack(src: &[u8; 1]) -> Result<bool, PackingError>
[src]
impl PackedStruct for u8
[src]
type ByteArray = [u8; 1]
fn pack(&self) -> PackingResult<[u8; 1]>
[src]
fn unpack(src: &[u8; 1]) -> Result<u8, PackingError>
[src]
impl PackedStruct for i8
[src]
type ByteArray = [u8; 1]
fn pack(&self) -> PackingResult<Self::ByteArray>
[src]
fn unpack(src: &Self::ByteArray) -> Result<i8, PackingError>
[src]
impl PackedStruct for ()
[src]
type ByteArray = [u8; 0]
fn pack(&self) -> PackingResult<[u8; 0]>
[src]
fn unpack(_src: &[u8; 0]) -> Result<(), PackingError>
[src]
Implementors
impl<T, B, I> PackedStruct for LsbInteger<T, B, I> where
B: NumberOfBits,
I: SizedInteger<T, B>,
B: BitsFullBytes,
[src]
B: NumberOfBits,
I: SizedInteger<T, B>,
B: BitsFullBytes,
type ByteArray = <<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes
fn pack(
&self
) -> PackingResult<<<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes>
[src]
&self
) -> PackingResult<<<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes>
fn unpack(
src: &<<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes
) -> PackingResult<Self>
[src]
src: &<<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes
) -> PackingResult<Self>
impl<T, B, I> PackedStruct for MsbInteger<T, B, I> where
B: NumberOfBits,
I: SizedInteger<T, B>,
[src]
B: NumberOfBits,
I: SizedInteger<T, B>,
type ByteArray = <<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes
fn pack(
&self
) -> PackingResult<<<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes>
[src]
&self
) -> PackingResult<<<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes>
fn unpack(
src: &<<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes
) -> Result<Self, PackingError>
[src]
src: &<<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes
) -> Result<Self, PackingError>
impl<V, B> PackedStruct for ReservedBits<V, B> where
Self: Default,
V: ReservedBitValue,
B: NumberOfBits,
[src]
Self: Default,
V: ReservedBitValue,
B: NumberOfBits,
type ByteArray = <<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes
fn pack(
&self
) -> PackingResult<<<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes>
[src]
&self
) -> PackingResult<<<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes>
fn unpack(
_src: &<<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes
) -> Result<Self, PackingError>
[src]
_src: &<<B as NumberOfBits>::Bytes as NumberOfBytes>::AsBytes
) -> Result<Self, PackingError>