pub struct ConcatTuple<M>(PhantomData<M>);Expand description
This type implements a BytesMapping for tuples of types, concatenating
their byte representations together.
The M type parameter also takes a tuple, the same size as the input, which
contains types also implementing BytesMapping. Each type in this tuple is
used to transform the corresponding value in the input tuple.
§Examples
Here is a basic example using the Identity transform for both tuple
elements:
use blart::{ConcatTuple, AsBytes, Mapped, Identity};
let c1 = b"aaa";
let c2 = b"bb";
let t = Mapped::<ConcatTuple<(Identity, Identity)>, _>::new((*c1, *c2));
assert_eq!(t.as_bytes(), b"aaabb");Here is a more complex example:
use std::net::Ipv4Addr;
use std::num::NonZeroI16;
use blart::{ConcatTuple, AsBytes, Mapped, ToOctets, ToIBE};
let c1 = NonZeroI16::new(256).unwrap();
let c2 = Ipv4Addr::LOCALHOST;
assert_eq!(Mapped::<ToIBE, _>::new(c1).as_bytes(), &[129, 0][..]);
assert_eq!(Mapped::<ToOctets, _>::new(c2).as_bytes(), &[127, 0, 0, 1][..]);
let t = Mapped::<ConcatTuple<(ToIBE, ToOctets)>, _>::new((c1, c2));
assert_eq!(t.as_bytes(), &[129, 0, 127, 0, 0, 1][..]);Tuple Fields§
§0: PhantomData<M>Trait Implementations§
Source§impl<T0, MT0, T1, MT1, const LEN_T0: usize, const LEN_T1: usize> BytesMapping<(T0, T1)> for ConcatTuple<(MT0, MT1)>
impl<T0, MT0, T1, MT1, const LEN_T0: usize, const LEN_T1: usize> BytesMapping<(T0, T1)> for ConcatTuple<(MT0, MT1)>
Source§impl<T0, MT0, T1, MT1, T2, MT2, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize> BytesMapping<(T0, T1, T2)> for ConcatTuple<(MT0, MT1, MT2)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
impl<T0, MT0, T1, MT1, T2, MT2, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize> BytesMapping<(T0, T1, T2)> for ConcatTuple<(MT0, MT1, MT2)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
Source§fn to_bytes(value: (T0, T1, T2)) -> Self::Bytes
fn to_bytes(value: (T0, T1, T2)) -> Self::Bytes
Convert the domain type into the bytestring type
Source§fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2)
fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2)
Convert the bytestring type back into the domain type
Source§impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize> BytesMapping<(T0, T1, T2, T3)> for ConcatTuple<(MT0, MT1, MT2, MT3)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize> BytesMapping<(T0, T1, T2, T3)> for ConcatTuple<(MT0, MT1, MT2, MT3)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
Source§fn to_bytes(value: (T0, T1, T2, T3)) -> Self::Bytes
fn to_bytes(value: (T0, T1, T2, T3)) -> Self::Bytes
Convert the domain type into the bytestring type
Source§fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3)
fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3)
Convert the bytestring type back into the domain type
Source§impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize> BytesMapping<(T0, T1, T2, T3, T4)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize> BytesMapping<(T0, T1, T2, T3, T4)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
Source§fn to_bytes(value: (T0, T1, T2, T3, T4)) -> Self::Bytes
fn to_bytes(value: (T0, T1, T2, T3, T4)) -> Self::Bytes
Convert the domain type into the bytestring type
Source§fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3, T4)
fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3, T4)
Convert the bytestring type back into the domain type
Source§impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize> BytesMapping<(T0, T1, T2, T3, T4, T5)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize> BytesMapping<(T0, T1, T2, T3, T4, T5)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
Source§fn to_bytes(value: (T0, T1, T2, T3, T4, T5)) -> Self::Bytes
fn to_bytes(value: (T0, T1, T2, T3, T4, T5)) -> Self::Bytes
Convert the domain type into the bytestring type
Source§fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3, T4, T5)
fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3, T4, T5)
Convert the bytestring type back into the domain type
Source§impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize, const LEN_T6: usize> BytesMapping<(T0, T1, T2, T3, T4, T5, T6)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
MT6: BytesMapping<T6, Bytes = [u8; LEN_T6]>,
impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize, const LEN_T6: usize> BytesMapping<(T0, T1, T2, T3, T4, T5, T6)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
MT6: BytesMapping<T6, Bytes = [u8; LEN_T6]>,
Source§fn to_bytes(value: (T0, T1, T2, T3, T4, T5, T6)) -> Self::Bytes
fn to_bytes(value: (T0, T1, T2, T3, T4, T5, T6)) -> Self::Bytes
Convert the domain type into the bytestring type
Source§fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3, T4, T5, T6)
fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3, T4, T5, T6)
Convert the bytestring type back into the domain type
Source§impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize, const LEN_T6: usize, const LEN_T7: usize> BytesMapping<(T0, T1, T2, T3, T4, T5, T6, T7)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
MT6: BytesMapping<T6, Bytes = [u8; LEN_T6]>,
MT7: BytesMapping<T7, Bytes = [u8; LEN_T7]>,
impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize, const LEN_T6: usize, const LEN_T7: usize> BytesMapping<(T0, T1, T2, T3, T4, T5, T6, T7)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
MT6: BytesMapping<T6, Bytes = [u8; LEN_T6]>,
MT7: BytesMapping<T7, Bytes = [u8; LEN_T7]>,
Source§fn to_bytes(value: (T0, T1, T2, T3, T4, T5, T6, T7)) -> Self::Bytes
fn to_bytes(value: (T0, T1, T2, T3, T4, T5, T6, T7)) -> Self::Bytes
Convert the domain type into the bytestring type
Source§fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3, T4, T5, T6, T7)
fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3, T4, T5, T6, T7)
Convert the bytestring type back into the domain type
Source§impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, T8, MT8, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize, const LEN_T6: usize, const LEN_T7: usize, const LEN_T8: usize> BytesMapping<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
MT6: BytesMapping<T6, Bytes = [u8; LEN_T6]>,
MT7: BytesMapping<T7, Bytes = [u8; LEN_T7]>,
MT8: BytesMapping<T8, Bytes = [u8; LEN_T8]>,
impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, T8, MT8, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize, const LEN_T6: usize, const LEN_T7: usize, const LEN_T8: usize> BytesMapping<(T0, T1, T2, T3, T4, T5, T6, T7, T8)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
MT6: BytesMapping<T6, Bytes = [u8; LEN_T6]>,
MT7: BytesMapping<T7, Bytes = [u8; LEN_T7]>,
MT8: BytesMapping<T8, Bytes = [u8; LEN_T8]>,
Source§fn to_bytes(value: (T0, T1, T2, T3, T4, T5, T6, T7, T8)) -> Self::Bytes
fn to_bytes(value: (T0, T1, T2, T3, T4, T5, T6, T7, T8)) -> Self::Bytes
Convert the domain type into the bytestring type
Source§fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3, T4, T5, T6, T7, T8)
fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3, T4, T5, T6, T7, T8)
Convert the bytestring type back into the domain type
Source§impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, T8, MT8, T9, MT9, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize, const LEN_T6: usize, const LEN_T7: usize, const LEN_T8: usize, const LEN_T9: usize> BytesMapping<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8, MT9)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
MT6: BytesMapping<T6, Bytes = [u8; LEN_T6]>,
MT7: BytesMapping<T7, Bytes = [u8; LEN_T7]>,
MT8: BytesMapping<T8, Bytes = [u8; LEN_T8]>,
MT9: BytesMapping<T9, Bytes = [u8; LEN_T9]>,
impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, T8, MT8, T9, MT9, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize, const LEN_T6: usize, const LEN_T7: usize, const LEN_T8: usize, const LEN_T9: usize> BytesMapping<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8, MT9)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
MT6: BytesMapping<T6, Bytes = [u8; LEN_T6]>,
MT7: BytesMapping<T7, Bytes = [u8; LEN_T7]>,
MT8: BytesMapping<T8, Bytes = [u8; LEN_T8]>,
MT9: BytesMapping<T9, Bytes = [u8; LEN_T9]>,
Source§fn to_bytes(value: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)) -> Self::Bytes
fn to_bytes(value: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)) -> Self::Bytes
Convert the domain type into the bytestring type
Source§fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
fn from_bytes(bytes: Self::Bytes) -> (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
Convert the bytestring type back into the domain type
Source§impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, T8, MT8, T9, MT9, T10, MT10, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize, const LEN_T6: usize, const LEN_T7: usize, const LEN_T8: usize, const LEN_T9: usize, const LEN_T10: usize> BytesMapping<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8, MT9, MT10)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
MT6: BytesMapping<T6, Bytes = [u8; LEN_T6]>,
MT7: BytesMapping<T7, Bytes = [u8; LEN_T7]>,
MT8: BytesMapping<T8, Bytes = [u8; LEN_T8]>,
MT9: BytesMapping<T9, Bytes = [u8; LEN_T9]>,
MT10: BytesMapping<T10, Bytes = [u8; LEN_T10]>,
impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, T8, MT8, T9, MT9, T10, MT10, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize, const LEN_T6: usize, const LEN_T7: usize, const LEN_T8: usize, const LEN_T9: usize, const LEN_T10: usize> BytesMapping<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8, MT9, MT10)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
MT6: BytesMapping<T6, Bytes = [u8; LEN_T6]>,
MT7: BytesMapping<T7, Bytes = [u8; LEN_T7]>,
MT8: BytesMapping<T8, Bytes = [u8; LEN_T8]>,
MT9: BytesMapping<T9, Bytes = [u8; LEN_T9]>,
MT10: BytesMapping<T10, Bytes = [u8; LEN_T10]>,
Source§fn to_bytes(value: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)) -> Self::Bytes
fn to_bytes(value: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)) -> Self::Bytes
Convert the domain type into the bytestring type
Source§fn from_bytes(
bytes: Self::Bytes,
) -> (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
fn from_bytes( bytes: Self::Bytes, ) -> (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
Convert the bytestring type back into the domain type
Source§impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, T8, MT8, T9, MT9, T10, MT10, T11, MT11, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize, const LEN_T6: usize, const LEN_T7: usize, const LEN_T8: usize, const LEN_T9: usize, const LEN_T10: usize, const LEN_T11: usize> BytesMapping<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8, MT9, MT10, MT11)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
MT6: BytesMapping<T6, Bytes = [u8; LEN_T6]>,
MT7: BytesMapping<T7, Bytes = [u8; LEN_T7]>,
MT8: BytesMapping<T8, Bytes = [u8; LEN_T8]>,
MT9: BytesMapping<T9, Bytes = [u8; LEN_T9]>,
MT10: BytesMapping<T10, Bytes = [u8; LEN_T10]>,
MT11: BytesMapping<T11, Bytes = [u8; LEN_T11]>,
impl<T0, MT0, T1, MT1, T2, MT2, T3, MT3, T4, MT4, T5, MT5, T6, MT6, T7, MT7, T8, MT8, T9, MT9, T10, MT10, T11, MT11, const LEN_T0: usize, const LEN_T1: usize, const LEN_T2: usize, const LEN_T3: usize, const LEN_T4: usize, const LEN_T5: usize, const LEN_T6: usize, const LEN_T7: usize, const LEN_T8: usize, const LEN_T9: usize, const LEN_T10: usize, const LEN_T11: usize> BytesMapping<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for ConcatTuple<(MT0, MT1, MT2, MT3, MT4, MT5, MT6, MT7, MT8, MT9, MT10, MT11)>where
MT0: BytesMapping<T0, Bytes = [u8; LEN_T0]>,
MT1: BytesMapping<T1, Bytes = [u8; LEN_T1]>,
MT2: BytesMapping<T2, Bytes = [u8; LEN_T2]>,
MT3: BytesMapping<T3, Bytes = [u8; LEN_T3]>,
MT4: BytesMapping<T4, Bytes = [u8; LEN_T4]>,
MT5: BytesMapping<T5, Bytes = [u8; LEN_T5]>,
MT6: BytesMapping<T6, Bytes = [u8; LEN_T6]>,
MT7: BytesMapping<T7, Bytes = [u8; LEN_T7]>,
MT8: BytesMapping<T8, Bytes = [u8; LEN_T8]>,
MT9: BytesMapping<T9, Bytes = [u8; LEN_T9]>,
MT10: BytesMapping<T10, Bytes = [u8; LEN_T10]>,
MT11: BytesMapping<T11, Bytes = [u8; LEN_T11]>,
Source§fn to_bytes(
value: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11),
) -> Self::Bytes
fn to_bytes( value: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11), ) -> Self::Bytes
Convert the domain type into the bytestring type
Source§fn from_bytes(
bytes: Self::Bytes,
) -> (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
fn from_bytes( bytes: Self::Bytes, ) -> (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
Convert the bytestring type back into the domain type
Auto Trait Implementations§
impl<M> Freeze for ConcatTuple<M>
impl<M> RefUnwindSafe for ConcatTuple<M>where
M: RefUnwindSafe,
impl<M> Send for ConcatTuple<M>where
M: Send,
impl<M> Sync for ConcatTuple<M>where
M: Sync,
impl<M> Unpin for ConcatTuple<M>where
M: Unpin,
impl<M> UnwindSafe for ConcatTuple<M>where
M: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more