pub trait Serializer: Sized {
type Ok;
type Err: Error;
type Bytes: BytesSerializer;
type Seq: SequenceSerializer<Ok = Self::Ok, Err = Self::Err>;
type Map: MapSerializer<Ok = Self::Ok, Err = Self::Err>;
Show 26 methods
// Required methods
fn serialize_unit(self) -> Result<Self::Ok, Self::Err>;
fn serialize_i128(self, value: i128) -> Result<Self::Ok, Self::Err>;
fn serialize_u128(self, value: u128) -> Result<Self::Ok, Self::Err>;
fn serialize_f32(self, value: f32) -> Result<Self::Ok, Self::Err>;
fn serialize_f64(self, value: f64) -> Result<Self::Ok, Self::Err>;
fn serialize_bool(self, value: bool) -> Result<Self::Ok, Self::Err>;
fn serialize_str(self, value: &str) -> Result<Self::Ok, Self::Err>;
fn serialize_none(self) -> Result<Self::Ok, Self::Err>;
fn serialize_byte_seq(self) -> Result<Self::Bytes, Self::Err>;
fn serialize_sequence(self) -> Result<Self::Seq, Self::Err>;
fn serialize_map(self) -> Result<Self::Map, Self::Err>;
// Provided methods
fn serialize_i8(self, value: i8) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_i16(self, value: i16) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_i32(self, value: i32) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_i64(self, value: i64) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_u8(self, value: u8) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_u16(self, value: u16) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_u32(self, value: u32) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_u64(self, value: u64) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_string(self, value: String) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_char(self, value: char) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_option<T: Serialize>(
self,
value: &Option<T>,
) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_slice<T: Serialize>(
self,
value: &[T],
) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_array<T: Serialize, const N: usize>(
self,
value: [T; N],
) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_vec<T: Serialize>(
self,
value: &Vec<T>,
) -> Result<Self::Ok, Self::Err> { ... }
fn serialize_bytes<T: Serialize>(
self,
value: &Vec<u8>,
) -> Result<Self::Ok, Self::Err> { ... }
}
Expand description
Provides a mechanism for convert a value to other representation.
Required Associated Types§
type Ok
type Err: Error
type Bytes: BytesSerializer
type Seq: SequenceSerializer<Ok = Self::Ok, Err = Self::Err>
type Map: MapSerializer<Ok = Self::Ok, Err = Self::Err>
Required Methods§
fn serialize_unit(self) -> Result<Self::Ok, Self::Err>
fn serialize_i128(self, value: i128) -> Result<Self::Ok, Self::Err>
fn serialize_u128(self, value: u128) -> Result<Self::Ok, Self::Err>
fn serialize_f32(self, value: f32) -> Result<Self::Ok, Self::Err>
fn serialize_f64(self, value: f64) -> Result<Self::Ok, Self::Err>
fn serialize_bool(self, value: bool) -> Result<Self::Ok, Self::Err>
fn serialize_str(self, value: &str) -> Result<Self::Ok, Self::Err>
fn serialize_none(self) -> Result<Self::Ok, Self::Err>
fn serialize_byte_seq(self) -> Result<Self::Bytes, Self::Err>
fn serialize_sequence(self) -> Result<Self::Seq, Self::Err>
fn serialize_map(self) -> Result<Self::Map, Self::Err>
Provided Methods§
fn serialize_i8(self, value: i8) -> Result<Self::Ok, Self::Err>
fn serialize_i16(self, value: i16) -> Result<Self::Ok, Self::Err>
fn serialize_i32(self, value: i32) -> Result<Self::Ok, Self::Err>
fn serialize_i64(self, value: i64) -> Result<Self::Ok, Self::Err>
fn serialize_u8(self, value: u8) -> Result<Self::Ok, Self::Err>
fn serialize_u16(self, value: u16) -> Result<Self::Ok, Self::Err>
fn serialize_u32(self, value: u32) -> Result<Self::Ok, Self::Err>
fn serialize_u64(self, value: u64) -> Result<Self::Ok, Self::Err>
fn serialize_string(self, value: String) -> Result<Self::Ok, Self::Err>
fn serialize_char(self, value: char) -> Result<Self::Ok, Self::Err>
fn serialize_option<T: Serialize>( self, value: &Option<T>, ) -> Result<Self::Ok, Self::Err>
fn serialize_slice<T: Serialize>( self, value: &[T], ) -> Result<Self::Ok, Self::Err>
fn serialize_array<T: Serialize, const N: usize>( self, value: [T; N], ) -> Result<Self::Ok, Self::Err>
fn serialize_vec<T: Serialize>( self, value: &Vec<T>, ) -> Result<Self::Ok, Self::Err>
fn serialize_bytes<T: Serialize>( self, value: &Vec<u8>, ) -> Result<Self::Ok, Self::Err>
Object Safety§
This trait is not object safe.