pub trait Serializer {
type Error;
Show 35 methods
// Required methods
fn serialize_u64(&mut self, value: u64) -> Result<(), Self::Error>;
fn serialize_u128(&mut self, value: u128) -> Result<(), Self::Error>;
fn serialize_i64(&mut self, value: i64) -> Result<(), Self::Error>;
fn serialize_i128(&mut self, value: i128) -> Result<(), Self::Error>;
fn serialize_f64(&mut self, value: f64) -> Result<(), Self::Error>;
fn serialize_bool(&mut self, value: bool) -> Result<(), Self::Error>;
fn serialize_char(&mut self, value: char) -> Result<(), Self::Error>;
fn serialize_str(&mut self, value: &str) -> Result<(), Self::Error>;
fn serialize_bytes(&mut self, value: &[u8]) -> Result<(), Self::Error>;
fn serialize_none(&mut self) -> Result<(), Self::Error>;
fn serialize_unit(&mut self) -> Result<(), Self::Error>;
fn serialize_unit_variant(
&mut self,
variant_index: usize,
variant_name: &'static str,
) -> Result<(), Self::Error>;
fn start_object(&mut self, len: Option<usize>) -> Result<(), Self::Error>;
fn serialize_field_name(
&mut self,
name: &'static str,
) -> Result<(), Self::Error>;
fn start_array(&mut self, len: Option<usize>) -> Result<(), Self::Error>;
fn start_map(&mut self, len: Option<usize>) -> Result<(), Self::Error>;
// Provided methods
fn start_some(&mut self) -> Result<(), Self::Error> { ... }
fn serialize_u8(&mut self, value: u8) -> Result<(), Self::Error> { ... }
fn serialize_u16(&mut self, value: u16) -> Result<(), Self::Error> { ... }
fn serialize_u32(&mut self, value: u32) -> Result<(), Self::Error> { ... }
fn serialize_usize(&mut self, value: usize) -> Result<(), Self::Error> { ... }
fn serialize_i8(&mut self, value: i8) -> Result<(), Self::Error> { ... }
fn serialize_i16(&mut self, value: i16) -> Result<(), Self::Error> { ... }
fn serialize_i32(&mut self, value: i32) -> Result<(), Self::Error> { ... }
fn serialize_isize(&mut self, value: isize) -> Result<(), Self::Error> { ... }
fn serialize_f32(&mut self, value: f32) -> Result<(), Self::Error> { ... }
fn begin_map_key(&mut self) -> Result<(), Self::Error> { ... }
fn end_map_key(&mut self) -> Result<(), Self::Error> { ... }
fn begin_map_value(&mut self) -> Result<(), Self::Error> { ... }
fn end_map_value(&mut self) -> Result<(), Self::Error> { ... }
fn end_object(&mut self) -> Result<(), Self::Error> { ... }
fn end_array(&mut self) -> Result<(), Self::Error> { ... }
fn end_map(&mut self) -> Result<(), Self::Error> { ... }
fn end_field(&mut self) -> Result<(), Self::Error> { ... }
fn start_enum_variant(
&mut self,
discriminant: u64,
) -> Result<(), Self::Error> { ... }
}Expand description
A trait for implementing format-specific serialization logic. The core iterative serializer uses this trait to output data.
Required Associated Types§
Required Methods§
Sourcefn serialize_u64(&mut self, value: u64) -> Result<(), Self::Error>
fn serialize_u64(&mut self, value: u64) -> Result<(), Self::Error>
Serialize an unsigned 64-bit integer.
Sourcefn serialize_u128(&mut self, value: u128) -> Result<(), Self::Error>
fn serialize_u128(&mut self, value: u128) -> Result<(), Self::Error>
Serialize an unsigned 128-bit integer.
Sourcefn serialize_i64(&mut self, value: i64) -> Result<(), Self::Error>
fn serialize_i64(&mut self, value: i64) -> Result<(), Self::Error>
Serialize a signed 64-bit integer.
Sourcefn serialize_i128(&mut self, value: i128) -> Result<(), Self::Error>
fn serialize_i128(&mut self, value: i128) -> Result<(), Self::Error>
Serialize a signed 128-bit integer.
Sourcefn serialize_f64(&mut self, value: f64) -> Result<(), Self::Error>
fn serialize_f64(&mut self, value: f64) -> Result<(), Self::Error>
Serialize a double-precision floating-point value.
Sourcefn serialize_bool(&mut self, value: bool) -> Result<(), Self::Error>
fn serialize_bool(&mut self, value: bool) -> Result<(), Self::Error>
Serialize a boolean value.
Sourcefn serialize_str(&mut self, value: &str) -> Result<(), Self::Error>
fn serialize_str(&mut self, value: &str) -> Result<(), Self::Error>
Serialize a UTF-8 string slice.
Sourcefn serialize_bytes(&mut self, value: &[u8]) -> Result<(), Self::Error>
fn serialize_bytes(&mut self, value: &[u8]) -> Result<(), Self::Error>
Serialize a raw byte slice.
Sourcefn serialize_none(&mut self) -> Result<(), Self::Error>
fn serialize_none(&mut self) -> Result<(), Self::Error>
Serialize a None variant of an Option type.
Sourcefn serialize_unit(&mut self) -> Result<(), Self::Error>
fn serialize_unit(&mut self) -> Result<(), Self::Error>
Serialize a unit value ().
Sourcefn serialize_unit_variant(
&mut self,
variant_index: usize,
variant_name: &'static str,
) -> Result<(), Self::Error>
fn serialize_unit_variant( &mut self, variant_index: usize, variant_name: &'static str, ) -> Result<(), Self::Error>
Serialize a unit variant of an enum (no data).
§Arguments
variant_index- The index of the variant.variant_name- The name of the variant.
Sourcefn serialize_field_name(
&mut self,
name: &'static str,
) -> Result<(), Self::Error>
fn serialize_field_name( &mut self, name: &'static str, ) -> Result<(), Self::Error>
Serialize a field name (for objects and maps).
§Arguments
name- The field or key name to serialize.
Provided Methods§
Sourcefn start_some(&mut self) -> Result<(), Self::Error>
fn start_some(&mut self) -> Result<(), Self::Error>
Serialize a Some discriminant of an Option type.
Sourcefn serialize_u8(&mut self, value: u8) -> Result<(), Self::Error>
fn serialize_u8(&mut self, value: u8) -> Result<(), Self::Error>
Serialize an unsigned 8-bit integer.
Sourcefn serialize_u16(&mut self, value: u16) -> Result<(), Self::Error>
fn serialize_u16(&mut self, value: u16) -> Result<(), Self::Error>
Serialize an unsigned 16-bit integer.
Sourcefn serialize_u32(&mut self, value: u32) -> Result<(), Self::Error>
fn serialize_u32(&mut self, value: u32) -> Result<(), Self::Error>
Serialize an unsigned 32-bit integer.
Sourcefn serialize_usize(&mut self, value: usize) -> Result<(), Self::Error>
fn serialize_usize(&mut self, value: usize) -> Result<(), Self::Error>
Serialize a usize integer.
Sourcefn serialize_i8(&mut self, value: i8) -> Result<(), Self::Error>
fn serialize_i8(&mut self, value: i8) -> Result<(), Self::Error>
Serialize a signed 8-bit integer.
Sourcefn serialize_i16(&mut self, value: i16) -> Result<(), Self::Error>
fn serialize_i16(&mut self, value: i16) -> Result<(), Self::Error>
Serialize a signed 16-bit integer.
Sourcefn serialize_i32(&mut self, value: i32) -> Result<(), Self::Error>
fn serialize_i32(&mut self, value: i32) -> Result<(), Self::Error>
Serialize a signed 32-bit integer.
Sourcefn serialize_isize(&mut self, value: isize) -> Result<(), Self::Error>
fn serialize_isize(&mut self, value: isize) -> Result<(), Self::Error>
Serialize an isize integer.
Sourcefn serialize_f32(&mut self, value: f32) -> Result<(), Self::Error>
fn serialize_f32(&mut self, value: f32) -> Result<(), Self::Error>
Serialize a single-precision floating-point value.
Sourcefn begin_map_key(&mut self) -> Result<(), Self::Error>
fn begin_map_key(&mut self) -> Result<(), Self::Error>
Begin serializing a map key value.
Sourcefn end_map_key(&mut self) -> Result<(), Self::Error>
fn end_map_key(&mut self) -> Result<(), Self::Error>
Signal the end of serializing a map key value.
Sourcefn begin_map_value(&mut self) -> Result<(), Self::Error>
fn begin_map_value(&mut self) -> Result<(), Self::Error>
Begin serializing a map value.
Sourcefn end_map_value(&mut self) -> Result<(), Self::Error>
fn end_map_value(&mut self) -> Result<(), Self::Error>
Signal the end of serializing a map value.
Sourcefn end_object(&mut self) -> Result<(), Self::Error>
fn end_object(&mut self) -> Result<(), Self::Error>
Signal the end of serializing an object/map-like value.
Sourcefn end_array(&mut self) -> Result<(), Self::Error>
fn end_array(&mut self) -> Result<(), Self::Error>
Signal the end of serializing an array/sequence-like value.