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", so this trait is not object safe.