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
{ ... } }

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

Implementations on Foreign Types§

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 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 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 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 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 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 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 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 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 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 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 &[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 ()

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)

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 &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

Implementors§