Skip to main content

MultiFormat

Trait MultiFormat 

Source
pub trait MultiFormat:
    Serialize
    + for<'de> Deserialize<'de>
    + Sized {
    // Provided methods
    fn serialize_format(&self, format: SerializationFormat) -> Result<Vec<u8>> { ... }
    fn serialize_with_header(
        &self,
        format: SerializationFormat,
    ) -> Result<Vec<u8>> { ... }
    fn deserialize_format(
        data: &[u8],
        format: SerializationFormat,
    ) -> Result<Self> { ... }
    fn deserialize_with_header(
        data: &[u8],
    ) -> Result<(Self, SerializationFormat)> { ... }
}
Expand description

Trait for types that support multiple serialization formats

Provided Methods§

Source

fn serialize_format(&self, format: SerializationFormat) -> Result<Vec<u8>>

Serialize to bytes using the specified format

Source

fn serialize_with_header(&self, format: SerializationFormat) -> Result<Vec<u8>>

Serialize to bytes with format header

Source

fn deserialize_format(data: &[u8], format: SerializationFormat) -> Result<Self>

Deserialize from bytes using the specified format

Source

fn deserialize_with_header(data: &[u8]) -> Result<(Self, SerializationFormat)>

Deserialize from bytes with format header

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§