pub trait Serializer {
Show 22 methods
// Required methods
fn begin_struct(&mut self, name: &str, fields: usize) -> SuccessResult;
fn end_struct(&mut self, name: &str) -> SuccessResult;
fn begin_collection(&mut self, name: &str, size: usize) -> SuccessResult;
fn end_collection(&mut self, name: &str) -> SuccessResult;
fn serialize_item<V: Serialize>(
&mut self,
i: usize,
item: &V,
pos: &Position,
) -> SuccessResult;
fn serialize_field<V: Serialize>(
&mut self,
identifier: &str,
value: &V,
pos: &Position,
) -> SuccessResult;
fn serialize_value<V: Serialize>(
&mut self,
value: &V,
pos: &Position,
) -> SuccessResult;
fn serialize_str(&mut self, value: &str) -> SuccessResult;
fn serialize_i8(&mut self, value: &i8) -> SuccessResult;
fn serialize_i16(&mut self, value: &i16) -> SuccessResult;
fn serialize_i32(&mut self, value: &i32) -> SuccessResult;
fn serialize_i64(&mut self, value: &i64) -> SuccessResult;
fn serialize_i128(&mut self, value: &i128) -> SuccessResult;
fn serialize_u8(&mut self, value: &u8) -> SuccessResult;
fn serialize_u16(&mut self, value: &u16) -> SuccessResult;
fn serialize_u32(&mut self, value: &u32) -> SuccessResult;
fn serialize_u64(&mut self, value: &u64) -> SuccessResult;
fn serialize_u128(&mut self, value: &u128) -> SuccessResult;
fn serialize_f32(&mut self, value: &f32) -> SuccessResult;
fn serialize_f64(&mut self, value: &f64) -> SuccessResult;
fn serialize_usize(&mut self, value: &usize) -> SuccessResult;
fn serialize_isize(&mut self, value: &isize) -> SuccessResult;
}Expand description
Handles the serialization and formatting of an arbitrary serializable
Any Serializer must implement methods that allow for the serialization of all supported data types. These methods are then called in the implementation (most often derived) of the Serialize trait.
Required Methods§
fn begin_struct(&mut self, name: &str, fields: usize) -> SuccessResult
fn end_struct(&mut self, name: &str) -> SuccessResult
fn begin_collection(&mut self, name: &str, size: usize) -> SuccessResult
fn end_collection(&mut self, name: &str) -> SuccessResult
fn serialize_item<V: Serialize>( &mut self, i: usize, item: &V, pos: &Position, ) -> SuccessResult
fn serialize_field<V: Serialize>( &mut self, identifier: &str, value: &V, pos: &Position, ) -> SuccessResult
fn serialize_value<V: Serialize>( &mut self, value: &V, pos: &Position, ) -> SuccessResult
fn serialize_str(&mut self, value: &str) -> SuccessResult
fn serialize_i8(&mut self, value: &i8) -> SuccessResult
fn serialize_i16(&mut self, value: &i16) -> SuccessResult
fn serialize_i32(&mut self, value: &i32) -> SuccessResult
fn serialize_i64(&mut self, value: &i64) -> SuccessResult
fn serialize_i128(&mut self, value: &i128) -> SuccessResult
fn serialize_u8(&mut self, value: &u8) -> SuccessResult
fn serialize_u16(&mut self, value: &u16) -> SuccessResult
fn serialize_u32(&mut self, value: &u32) -> SuccessResult
fn serialize_u64(&mut self, value: &u64) -> SuccessResult
fn serialize_u128(&mut self, value: &u128) -> SuccessResult
fn serialize_f32(&mut self, value: &f32) -> SuccessResult
fn serialize_f64(&mut self, value: &f64) -> SuccessResult
fn serialize_usize(&mut self, value: &usize) -> SuccessResult
fn serialize_isize(&mut self, value: &isize) -> SuccessResult
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.