Tuple3Codec

Struct Tuple3Codec 

Source
pub struct Tuple3Codec<Codec1, Codec2, Codec3>(pub Codec1, pub Codec2, pub Codec3);

Tuple Fields§

§0: Codec1§1: Codec2§2: Codec3

Implementations§

Source§

impl<Codec1, Codec2, Codec3> Tuple3Codec<Codec1, Codec2, Codec3>

Source

pub const fn new(codec1: Codec1, codec2: Codec2, codec3: Codec3) -> Self

Trait Implementations§

Source§

impl<'encoded, 'decoded, Codec1, Codec2, Codec3> Decoder<'encoded, 'decoded> for Tuple3Codec<Codec1, Codec2, Codec3>
where Codec1: Decoder<'encoded, 'decoded>, Codec2: Decoder<'encoded, 'decoded>, Codec3: Decoder<'encoded, 'decoded>,

Source§

type Decoded = (<Codec1 as Decoder<'encoded, 'decoded>>::Decoded, <Codec2 as Decoder<'encoded, 'decoded>>::Decoded, <Codec3 as Decoder<'encoded, 'decoded>>::Decoded)

Source§

fn decode( &self, encoded: &'encoded [u8], offset: &mut usize, ) -> Result<Self::Decoded, DecodeError>

Source§

impl<Codec1, Codec2, Codec3, Item1: Sized, Item2: Sized, Item3: Sized> Encoder for Tuple3Codec<Codec1, Codec2, Codec3>
where Codec1: Encoder<Decoded = Item1>, Codec2: Encoder<Decoded = Item2>, Codec3: Encoder<Decoded = Item3>,

Source§

type Decoded = (Item1, Item2, Item3)

Source§

fn encode( &self, decoded: &Self::Decoded, encoded: &mut [u8], offset: &mut usize, ) -> Result<(), EncodeError>

Source§

impl<'decoded, Codec1, Codec2, Codec3, Item1: 'decoded + Sized, Item2: 'decoded + Sized, Item3: 'decoded + Sized> FixedMeasurer for Tuple3Codec<Codec1, Codec2, Codec3>
where Codec1: FixedMeasurer<Decoded = &'decoded Item1>, Codec2: FixedMeasurer<Decoded = &'decoded Item2>, Codec3: FixedMeasurer<Decoded = &'decoded Item3>,

Source§

impl<Codec1, Codec2, Codec3, Item1: Sized, Item2: Sized, Item3: Sized> Measurer for Tuple3Codec<Codec1, Codec2, Codec3>
where Codec1: Measurer<Decoded = Item1>, Codec2: Measurer<Decoded = Item2>, Codec3: Measurer<Decoded = Item3>,

Auto Trait Implementations§

§

impl<Codec1, Codec2, Codec3> Freeze for Tuple3Codec<Codec1, Codec2, Codec3>
where Codec1: Freeze, Codec2: Freeze, Codec3: Freeze,

§

impl<Codec1, Codec2, Codec3> RefUnwindSafe for Tuple3Codec<Codec1, Codec2, Codec3>
where Codec1: RefUnwindSafe, Codec2: RefUnwindSafe, Codec3: RefUnwindSafe,

§

impl<Codec1, Codec2, Codec3> Send for Tuple3Codec<Codec1, Codec2, Codec3>
where Codec1: Send, Codec2: Send, Codec3: Send,

§

impl<Codec1, Codec2, Codec3> Sync for Tuple3Codec<Codec1, Codec2, Codec3>
where Codec1: Sync, Codec2: Sync, Codec3: Sync,

§

impl<Codec1, Codec2, Codec3> Unpin for Tuple3Codec<Codec1, Codec2, Codec3>
where Codec1: Unpin, Codec2: Unpin, Codec3: Unpin,

§

impl<Codec1, Codec2, Codec3> UnwindSafe for Tuple3Codec<Codec1, Codec2, Codec3>
where Codec1: UnwindSafe, Codec2: UnwindSafe, Codec3: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Decoded, C> EncoderToVec for C
where C: Encoder<Decoded = Decoded> + Measurer<Decoded = Decoded>, Decoded: ?Sized,

Source§

type Decoded = Decoded

Source§

fn encode_to_vec( &self, decoded: &<C as EncoderToVec>::Decoded, ) -> Result<Vec<u8>, EncodeError>

Source§

fn encode_to_heapless_vec<const N: usize>( &self, decoded: &<C as EncoderToVec>::Decoded, ) -> Result<VecInner<u8, usize, VecStorageInner<[MaybeUninit<u8>; N]>>, EncodeError>

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.