Serializer

Trait Serializer 

Source
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§

Source

type Error

The error type returned by serialization methods

Required Methods§

Source

fn serialize_u64(&mut self, value: u64) -> Result<(), Self::Error>

Serialize an unsigned 64-bit integer.

Source

fn serialize_u128(&mut self, value: u128) -> Result<(), Self::Error>

Serialize an unsigned 128-bit integer.

Source

fn serialize_i64(&mut self, value: i64) -> Result<(), Self::Error>

Serialize a signed 64-bit integer.

Source

fn serialize_i128(&mut self, value: i128) -> Result<(), Self::Error>

Serialize a signed 128-bit integer.

Source

fn serialize_f64(&mut self, value: f64) -> Result<(), Self::Error>

Serialize a double-precision floating-point value.

Source

fn serialize_bool(&mut self, value: bool) -> Result<(), Self::Error>

Serialize a boolean value.

Source

fn serialize_char(&mut self, value: char) -> Result<(), Self::Error>

Serialize a character.

Source

fn serialize_str(&mut self, value: &str) -> Result<(), Self::Error>

Serialize a UTF-8 string slice.

Source

fn serialize_bytes(&mut self, value: &[u8]) -> Result<(), Self::Error>

Serialize a raw byte slice.

Source

fn serialize_none(&mut self) -> Result<(), Self::Error>

Serialize a None variant of an Option type.

Source

fn serialize_unit(&mut self) -> Result<(), Self::Error>

Serialize a unit value ().

Source

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.
Source

fn start_object(&mut self, len: Option<usize>) -> Result<(), Self::Error>

Begin serializing an object/map-like value.

§Arguments
  • len - The number of fields, if known.
Source

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.
Source

fn start_array(&mut self, len: Option<usize>) -> Result<(), Self::Error>

Begin serializing an array/sequence-like value.

§Arguments
  • len - The number of elements, if known.
Source

fn start_map(&mut self, len: Option<usize>) -> Result<(), Self::Error>

Begin serializing a map/dictionary-like value.

§Arguments
  • len - The number of entries, if known.

Provided Methods§

Source

fn start_some(&mut self) -> Result<(), Self::Error>

Serialize a Some discriminant of an Option type.

Source

fn serialize_u8(&mut self, value: u8) -> Result<(), Self::Error>

Serialize an unsigned 8-bit integer.

Source

fn serialize_u16(&mut self, value: u16) -> Result<(), Self::Error>

Serialize an unsigned 16-bit integer.

Source

fn serialize_u32(&mut self, value: u32) -> Result<(), Self::Error>

Serialize an unsigned 32-bit integer.

Source

fn serialize_usize(&mut self, value: usize) -> Result<(), Self::Error>

Serialize a usize integer.

Source

fn serialize_i8(&mut self, value: i8) -> Result<(), Self::Error>

Serialize a signed 8-bit integer.

Source

fn serialize_i16(&mut self, value: i16) -> Result<(), Self::Error>

Serialize a signed 16-bit integer.

Source

fn serialize_i32(&mut self, value: i32) -> Result<(), Self::Error>

Serialize a signed 32-bit integer.

Source

fn serialize_isize(&mut self, value: isize) -> Result<(), Self::Error>

Serialize an isize integer.

Source

fn serialize_f32(&mut self, value: f32) -> Result<(), Self::Error>

Serialize a single-precision floating-point value.

Source

fn begin_map_key(&mut self) -> Result<(), Self::Error>

Begin serializing a map key value.

Source

fn end_map_key(&mut self) -> Result<(), Self::Error>

Signal the end of serializing a map key value.

Source

fn begin_map_value(&mut self) -> Result<(), Self::Error>

Begin serializing a map value.

Source

fn end_map_value(&mut self) -> Result<(), Self::Error>

Signal the end of serializing a map value.

Source

fn end_object(&mut self) -> Result<(), Self::Error>

Signal the end of serializing an object/map-like value.

Source

fn end_array(&mut self) -> Result<(), Self::Error>

Signal the end of serializing an array/sequence-like value.

Source

fn end_map(&mut self) -> Result<(), Self::Error>

Signal the end of serializing a map/dictionary-like value.

Source

fn end_field(&mut self) -> Result<(), Self::Error>

Signal the end of serializing a field.

Source

fn start_enum_variant(&mut self, discriminant: u64) -> Result<(), Self::Error>

Signal the start of an enum variant

Implementors§