Trait BinarySerializable

Source
pub trait BinarySerializable: Debug + Sized {
    // Required methods
    fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>;
    fn deserialize<R: Read>(reader: &mut R) -> Result<Self>;

    // Provided method
    fn num_bytes(&self) -> u64 { ... }
}
Expand description

Trait for a simple binary serialization.

Required Methods§

Source

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Serialize

Source

fn deserialize<R: Read>(reader: &mut R) -> Result<Self>

Deserialize

Provided Methods§

Source

fn num_bytes(&self) -> u64

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.

Implementations on Foreign Types§

Source§

impl BinarySerializable for bool

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<bool>

Source§

impl BinarySerializable for f32

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<Self>

Source§

impl BinarySerializable for f64

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<Self>

Source§

impl BinarySerializable for i64

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<Self>

Source§

impl BinarySerializable for u8

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<u8>

Source§

impl BinarySerializable for u16

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<u16>

Source§

impl BinarySerializable for u32

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<u32>

Source§

impl BinarySerializable for u64

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<Self>

Source§

impl BinarySerializable for u128

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<Self>

Source§

impl BinarySerializable for ()

Source§

fn serialize<W: Write + ?Sized>(&self, _: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(_: &mut R) -> Result<Self>

Source§

impl BinarySerializable for String

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<String>

Source§

impl<'a> BinarySerializable for Cow<'a, str>

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<Cow<'a, str>>

Source§

impl<'a> BinarySerializable for Cow<'a, [u8]>

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<Cow<'a, [u8]>>

Source§

impl<Left: BinarySerializable, Right: BinarySerializable> BinarySerializable for (Left, Right)

Source§

fn serialize<W: Write + ?Sized>(&self, write: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<Self>

Source§

impl<T: BinarySerializable> BinarySerializable for Vec<T>

Source§

fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> Result<()>

Source§

fn deserialize<R: Read>(reader: &mut R) -> Result<Vec<T>>

Implementors§