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§
Sourcefn serialize_format(&self, format: SerializationFormat) -> Result<Vec<u8>>
fn serialize_format(&self, format: SerializationFormat) -> Result<Vec<u8>>
Serialize to bytes using the specified format
Sourcefn serialize_with_header(&self, format: SerializationFormat) -> Result<Vec<u8>>
fn serialize_with_header(&self, format: SerializationFormat) -> Result<Vec<u8>>
Serialize to bytes with format header
Sourcefn deserialize_format(data: &[u8], format: SerializationFormat) -> Result<Self>
fn deserialize_format(data: &[u8], format: SerializationFormat) -> Result<Self>
Deserialize from bytes using the specified format
Sourcefn deserialize_with_header(data: &[u8]) -> Result<(Self, SerializationFormat)>
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".