Trait SizedCodec

Source
pub trait SizedCodec: Codec {
    const LEN_CODEC: usize;

    // Provided methods
    fn len_encoded(&self) -> usize { ... }
    fn encode_fixed<const N: usize>(&self) -> [u8; N] { ... }
}
Expand description

Trait for types that have a fixed-length encoding

Required Associated Constants§

Source

const LEN_CODEC: usize

The encoded length of this value.

Provided Methods§

Source

fn len_encoded(&self) -> usize

Returns the encoded length of this value.

Source

fn encode_fixed<const N: usize>(&self) -> [u8; N]

Encodes a value to fixed-size bytes.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl SizedCodec for bool

Source§

const LEN_CODEC: usize = 1usize

Source§

impl SizedCodec for f32

Source§

const LEN_CODEC: usize = 4usize

Source§

impl SizedCodec for f64

Source§

const LEN_CODEC: usize = 8usize

Source§

impl SizedCodec for i8

Source§

const LEN_CODEC: usize = 1usize

Source§

impl SizedCodec for i16

Source§

const LEN_CODEC: usize = 2usize

Source§

impl SizedCodec for i32

Source§

const LEN_CODEC: usize = 4usize

Source§

impl SizedCodec for i64

Source§

const LEN_CODEC: usize = 8usize

Source§

impl SizedCodec for i128

Source§

const LEN_CODEC: usize = 16usize

Source§

impl SizedCodec for u8

Source§

const LEN_CODEC: usize = 1usize

Source§

impl SizedCodec for u16

Source§

const LEN_CODEC: usize = 2usize

Source§

impl SizedCodec for u32

Source§

const LEN_CODEC: usize = 4usize

Source§

impl SizedCodec for u64

Source§

const LEN_CODEC: usize = 8usize

Source§

impl SizedCodec for u128

Source§

const LEN_CODEC: usize = 16usize

Source§

impl<T0: SizedCodec> SizedCodec for (T0,)

Source§

impl<T0: SizedCodec, T1: SizedCodec> SizedCodec for (T0, T1)

Source§

impl<T0: SizedCodec, T1: SizedCodec, T2: SizedCodec> SizedCodec for (T0, T1, T2)

Source§

impl<T0: SizedCodec, T1: SizedCodec, T2: SizedCodec, T3: SizedCodec> SizedCodec for (T0, T1, T2, T3)

Source§

impl<T0: SizedCodec, T1: SizedCodec, T2: SizedCodec, T3: SizedCodec, T4: SizedCodec> SizedCodec for (T0, T1, T2, T3, T4)

Source§

impl<T0: SizedCodec, T1: SizedCodec, T2: SizedCodec, T3: SizedCodec, T4: SizedCodec, T5: SizedCodec> SizedCodec for (T0, T1, T2, T3, T4, T5)

Source§

impl<T0: SizedCodec, T1: SizedCodec, T2: SizedCodec, T3: SizedCodec, T4: SizedCodec, T5: SizedCodec, T6: SizedCodec> SizedCodec for (T0, T1, T2, T3, T4, T5, T6)

Source§

impl<T0: SizedCodec, T1: SizedCodec, T2: SizedCodec, T3: SizedCodec, T4: SizedCodec, T5: SizedCodec, T6: SizedCodec, T7: SizedCodec> SizedCodec for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

impl<T0: SizedCodec, T1: SizedCodec, T2: SizedCodec, T3: SizedCodec, T4: SizedCodec, T5: SizedCodec, T6: SizedCodec, T7: SizedCodec, T8: SizedCodec> SizedCodec for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

Source§

impl<T0: SizedCodec, T1: SizedCodec, T2: SizedCodec, T3: SizedCodec, T4: SizedCodec, T5: SizedCodec, T6: SizedCodec, T7: SizedCodec, T8: SizedCodec, T9: SizedCodec> SizedCodec for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

impl<T0: SizedCodec, T1: SizedCodec, T2: SizedCodec, T3: SizedCodec, T4: SizedCodec, T5: SizedCodec, T6: SizedCodec, T7: SizedCodec, T8: SizedCodec, T9: SizedCodec, T10: SizedCodec> SizedCodec for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

impl<T0: SizedCodec, T1: SizedCodec, T2: SizedCodec, T3: SizedCodec, T4: SizedCodec, T5: SizedCodec, T6: SizedCodec, T7: SizedCodec, T8: SizedCodec, T9: SizedCodec, T10: SizedCodec, T11: SizedCodec> SizedCodec for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<const N: usize> SizedCodec for [u8; N]

Implementors§