pub trait EncoderValue: Sized {
    // Required method
    fn encode<E: Encoder>(&self, encoder: &mut E);

    // Provided methods
    fn encode_mut<E: Encoder>(&mut self, encoder: &mut E) { ... }
    fn encoding_size(&self) -> usize { ... }
    fn encoding_size_for_encoder<E: Encoder>(&self, encoder: &E) -> usize { ... }
    fn encode_with_len_prefix<Len: TryFrom<usize> + EncoderValue, E: Encoder>(
        &self,
        encoder: &mut E
    )
       where Self: Sized,
             Len::Error: Debug { ... }
    fn encode_to_vec(&self) -> Vec<u8> { ... }
}

Required Methods§

source

fn encode<E: Encoder>(&self, encoder: &mut E)

Encodes the value into the encoder

Provided Methods§

source

fn encode_mut<E: Encoder>(&mut self, encoder: &mut E)

Encodes the value into the encoder, while potentially mutating the value itself

source

fn encoding_size(&self) -> usize

Returns the encoding size with no buffer constrains

source

fn encoding_size_for_encoder<E: Encoder>(&self, encoder: &E) -> usize

Returns the encoding size for the given encoder’s capacity

source

fn encode_with_len_prefix<Len: TryFrom<usize> + EncoderValue, E: Encoder>( &self, encoder: &mut E )
where Self: Sized, Len::Error: Debug,

Encodes the value into the encoder with a prefix of Len

source

fn encode_to_vec(&self) -> Vec<u8>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl EncoderValue for &Bytes

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for &[&[u8]]

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for &[u8]

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for &mut [u8]

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for f32

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for f64

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for i8

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for i16

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for i32

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for i64

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for i128

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for u8

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for u16

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for u32

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for u64

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for u128

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for ()

source§

fn encode<E: Encoder>(&self, _encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl EncoderValue for Bytes

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize

source§

impl<A: EncoderValue, B: EncoderValue> EncoderValue for (A, B)

source§

fn encode<E: Encoder>(&self, encoder: &mut E)

source§

fn encoding_size(&self) -> usize

source§

fn encoding_size_for_encoder<E: Encoder>(&self, encoder: &E) -> usize

source§

impl<T: EncoderValue> EncoderValue for Option<T>

source§

fn encode<E: Encoder>(&self, buffer: &mut E)

source§

fn encode_mut<E: Encoder>(&mut self, buffer: &mut E)

Implementors§

source§

impl EncoderValue for DecoderBuffer<'_>

source§

impl EncoderValue for DecoderBufferMut<'_>

source§

impl EncoderValue for i24

source§

impl EncoderValue for i48

source§

impl EncoderValue for u24

source§

impl EncoderValue for u48

source§

impl EncoderValue for I16
where I16: AsBytes,

source§

impl EncoderValue for I32
where I32: AsBytes,

source§

impl EncoderValue for I64
where I64: AsBytes,

source§

impl EncoderValue for I128
where I128: AsBytes,

source§

impl EncoderValue for U16
where U16: AsBytes,

source§

impl EncoderValue for U32
where U32: AsBytes,

source§

impl EncoderValue for U64
where U64: AsBytes,

source§

impl EncoderValue for U128
where U128: AsBytes,

source§

impl<'a> EncoderValue for &'a I16
where I16: AsBytes,

source§

impl<'a> EncoderValue for &'a I32
where I32: AsBytes,

source§

impl<'a> EncoderValue for &'a I64
where I64: AsBytes,

source§

impl<'a> EncoderValue for &'a I128
where I128: AsBytes,

source§

impl<'a> EncoderValue for &'a U16
where U16: AsBytes,

source§

impl<'a> EncoderValue for &'a U32
where U32: AsBytes,

source§

impl<'a> EncoderValue for &'a U64
where U64: AsBytes,

source§

impl<'a> EncoderValue for &'a U128
where U128: AsBytes,

source§

impl<'a> EncoderValue for &'a mut I16
where I16: AsBytes,

source§

impl<'a> EncoderValue for &'a mut I32
where I32: AsBytes,

source§

impl<'a> EncoderValue for &'a mut I64
where I64: AsBytes,

source§

impl<'a> EncoderValue for &'a mut I128
where I128: AsBytes,

source§

impl<'a> EncoderValue for &'a mut U16
where U16: AsBytes,

source§

impl<'a> EncoderValue for &'a mut U32
where U32: AsBytes,

source§

impl<'a> EncoderValue for &'a mut U64
where U64: AsBytes,

source§

impl<'a> EncoderValue for &'a mut U128
where U128: AsBytes,