Decoder

Trait Decoder 

Source
pub trait Decoder<'de> {
    type Error: Error;
    type Buf: Buf;

Show 21 methods // Required methods fn buf(&self) -> &Self::Buf; fn buf_mut(&mut self) -> &mut Self::Buf; fn decode_sized<V: Visitor<'de>>( &mut self, size: usize, visitor: V, ) -> Result<V::Value, Self::Error> where Self: Sized; // Provided methods fn ensure_size(&self, expected: usize) -> Result<(), Self::Error> { ... } fn decode_any<T>(&mut self) -> Result<T, Self::Error> where T: Decode<'de>, Self: Sized { ... } fn decode_bool(&mut self) -> bool { ... } fn decode_i8(&mut self) -> i8 { ... } fn decode_u8(&mut self) -> u8 { ... } fn decode_i16(&mut self) -> i16 { ... } fn decode_u16(&mut self) -> u16 { ... } fn decode_i32(&mut self) -> i32 { ... } fn decode_u32(&mut self) -> u32 { ... } fn decode_i64(&mut self) -> i64 { ... } fn decode_u64(&mut self) -> u64 { ... } fn decode_f32(&mut self) -> f32 { ... } fn decode_f64(&mut self) -> f64 { ... } fn decode_i128(&mut self) -> i128 { ... } fn decode_u128(&mut self) -> u128 { ... } fn remaining(&mut self) -> usize { ... } fn has_remaining(&mut self) -> bool { ... } fn decode_with<V: Visitor<'de>>( &mut self, visitor: V, ) -> Result<V::Value, Self::Error> where Self: Sized { ... }
}

Required Associated Types§

Required Methods§

Source

fn buf(&self) -> &Self::Buf

inner buffer

Source

fn buf_mut(&mut self) -> &mut Self::Buf

inner buffer

Source

fn decode_sized<V: Visitor<'de>>( &mut self, size: usize, visitor: V, ) -> Result<V::Value, Self::Error>
where Self: Sized,

take specified number of bytes, and decode it with the specified visitor

Provided Methods§

Source

fn ensure_size(&self, expected: usize) -> Result<(), Self::Error>

check remaining buffer size

Source

fn decode_any<T>(&mut self) -> Result<T, Self::Error>
where T: Decode<'de>, Self: Sized,

decode any type T that derive Decode

Source

fn decode_bool(&mut self) -> bool

get bool unchecked

Source

fn decode_i8(&mut self) -> i8

get i8 unchecked

Source

fn decode_u8(&mut self) -> u8

get u8 unchecked

Source

fn decode_i16(&mut self) -> i16

get i16 unchecked

Source

fn decode_u16(&mut self) -> u16

get u16 unchecked

Source

fn decode_i32(&mut self) -> i32

get i32 unchecked

Source

fn decode_u32(&mut self) -> u32

get u32 unchecked

Source

fn decode_i64(&mut self) -> i64

get i64 unchecked

Source

fn decode_u64(&mut self) -> u64

get u64 unchecked

Source

fn decode_f32(&mut self) -> f32

get f32 unchecked

Source

fn decode_f64(&mut self) -> f64

get f64 unchecked

Source

fn decode_i128(&mut self) -> i128

get i128 unchecked

Source

fn decode_u128(&mut self) -> u128

get u128 unchecked

Source

fn remaining(&mut self) -> usize

Source

fn has_remaining(&mut self) -> bool

Source

fn decode_with<V: Visitor<'de>>( &mut self, visitor: V, ) -> Result<V::Value, Self::Error>
where Self: Sized,

decode with a dedicated Visitor. A Visitor gives you some context information while decoding.

Implementations on Foreign Types§

Source§

impl<'de, T: Decoder<'de>> Decoder<'de> for &mut T

Source§

type Error = <T as Decoder<'de>>::Error

Source§

type Buf = <T as Decoder<'de>>::Buf

Source§

fn buf(&self) -> &Self::Buf

Source§

fn buf_mut(&mut self) -> &mut Self::Buf

Source§

fn decode_sized<V: Visitor<'de>>( &mut self, size: usize, visitor: V, ) -> Result<V::Value, Self::Error>
where Self: Sized,

Implementors§