pub trait Encoder: Sized + BinaryEncoder {
type Error: EncodeError;
type TupleEncoder: CompositeEncoder<Error = Self::Error>;
type StructEncoder: CompositeEncoder<Error = Self::Error>;
type SequenceEncoder: CompositeEncoder<Error = Self::Error>;
Show 24 methods
// Required methods
fn encode_bool(&mut self, v: bool) -> Result<(), Self::Error>;
fn encode_u8(&mut self, v: u8) -> Result<(), Self::Error>;
fn encode_i8(&mut self, v: i8) -> Result<(), Self::Error>;
fn encode_u16(&mut self, v: u16) -> Result<(), Self::Error>;
fn encode_i16(&mut self, v: i16) -> Result<(), Self::Error>;
fn encode_u32(&mut self, v: u32) -> Result<(), Self::Error>;
fn encode_i32(&mut self, v: i32) -> Result<(), Self::Error>;
fn encode_u64(&mut self, v: u64) -> Result<(), Self::Error>;
fn encode_i64(&mut self, v: i64) -> Result<(), Self::Error>;
fn encode_u128(&mut self, v: u128) -> Result<(), Self::Error>;
fn encode_i128(&mut self, v: i128) -> Result<(), Self::Error>;
fn encode_usize(&mut self, v: usize) -> Result<(), Self::Error>;
fn encode_isize(&mut self, v: isize) -> Result<(), Self::Error>;
fn encode_f32(&mut self, v: f32) -> Result<(), Self::Error>;
fn encode_f64(&mut self, v: f64) -> Result<(), Self::Error>;
fn encode_tuple(&mut self) -> Result<&mut Self::TupleEncoder, Self::Error>;
fn encode_struct(&mut self) -> Result<&mut Self::StructEncoder, Self::Error>;
fn encode_seq(
&mut self,
len: usize,
) -> Result<&mut Self::SequenceEncoder, Self::Error>;
fn encode_enum_variant_key(
&mut self,
enum_name: &'static str,
variant_name: &'static str,
variant_index: usize,
) -> Result<(), Self::Error>;
fn encode_some(&mut self) -> Result<(), Self::Error>;
fn encode_none(&mut self) -> Result<(), Self::Error>;
fn encode_str(&mut self, v: &str) -> Result<(), Self::Error>;
fn encode_bytes(&mut self, v: &[u8]) -> Result<(), Self::Error>;
fn encode_var_i32(&mut self, v: i32) -> Result<(), Self::Error>;
}Required Associated Types§
type Error: EncodeError
type TupleEncoder: CompositeEncoder<Error = Self::Error>
type StructEncoder: CompositeEncoder<Error = Self::Error>
type SequenceEncoder: CompositeEncoder<Error = Self::Error>
Required Methods§
fn encode_bool(&mut self, v: bool) -> Result<(), Self::Error>
fn encode_u8(&mut self, v: u8) -> Result<(), Self::Error>
fn encode_i8(&mut self, v: i8) -> Result<(), Self::Error>
fn encode_u16(&mut self, v: u16) -> Result<(), Self::Error>
fn encode_i16(&mut self, v: i16) -> Result<(), Self::Error>
fn encode_u32(&mut self, v: u32) -> Result<(), Self::Error>
fn encode_i32(&mut self, v: i32) -> Result<(), Self::Error>
fn encode_u64(&mut self, v: u64) -> Result<(), Self::Error>
fn encode_i64(&mut self, v: i64) -> Result<(), Self::Error>
fn encode_u128(&mut self, v: u128) -> Result<(), Self::Error>
fn encode_i128(&mut self, v: i128) -> Result<(), Self::Error>
fn encode_usize(&mut self, v: usize) -> Result<(), Self::Error>
fn encode_isize(&mut self, v: isize) -> Result<(), Self::Error>
fn encode_f32(&mut self, v: f32) -> Result<(), Self::Error>
fn encode_f64(&mut self, v: f64) -> Result<(), Self::Error>
fn encode_tuple(&mut self) -> Result<&mut Self::TupleEncoder, Self::Error>
fn encode_struct(&mut self) -> Result<&mut Self::StructEncoder, Self::Error>
fn encode_seq( &mut self, len: usize, ) -> Result<&mut Self::SequenceEncoder, Self::Error>
fn encode_enum_variant_key( &mut self, enum_name: &'static str, variant_name: &'static str, variant_index: usize, ) -> Result<(), Self::Error>
fn encode_some(&mut self) -> Result<(), Self::Error>
fn encode_none(&mut self) -> Result<(), Self::Error>
fn encode_str(&mut self, v: &str) -> Result<(), Self::Error>
fn encode_bytes(&mut self, v: &[u8]) -> Result<(), Self::Error>
fn encode_var_i32(&mut self, v: i32) -> Result<(), Self::Error>
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.