Trait transmog::Format

source ·
pub trait Format<'a, T>: Send + Sync {
    type Error: From<Error> + Debug + Display;

    // Required method
    fn serialize_into<W: Write>(
        &self,
        value: &T,
        writer: W
    ) -> Result<(), Self::Error>;

    // Provided methods
    fn serialized_size(&self, value: &T) -> Result<Option<usize>, Self::Error> { ... }
    fn serialize(&self, value: &T) -> Result<Vec<u8>, Self::Error> { ... }
}
Expand description

A serialization format.

Required Associated Types§

source

type Error: From<Error> + Debug + Display

The error type this format produces.

Required Methods§

source

fn serialize_into<W: Write>( &self, value: &T, writer: W ) -> Result<(), Self::Error>

Serialize value into writer.

Provided Methods§

source

fn serialized_size(&self, value: &T) -> Result<Option<usize>, Self::Error>

Return the number of bytes value will need to be serialized, or None if pre-measuring is not implemented for this format.

source

fn serialize(&self, value: &T) -> Result<Vec<u8>, Self::Error>

Serialize value into a Vec<u8>.

Implementors§