pub trait Serializable {
    // Required method
    fn write_into<W: ByteWriter>(&self, target: &mut W);

    // Provided methods
    fn to_bytes(&self) -> Vec<u8>  { ... }
    fn get_size_hint(&self) -> usize { ... }
}
Expand description

Defines how to serialize Self into bytes.

Required Methods§

source

fn write_into<W: ByteWriter>(&self, target: &mut W)

Serializes self into bytes and writes these bytes into the target.

Provided Methods§

source

fn to_bytes(&self) -> Vec<u8>

Serializes self into a vector of bytes.

source

fn get_size_hint(&self) -> usize

Returns an estimate of how many bytes are needed to represent self.

The default implementation returns zero.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Serializable for str

source§

fn write_into<W: ?Sized + ByteWriter>(&self, target: &mut W)

source§

impl Serializable for u8

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl Serializable for u16

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl Serializable for u32

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl Serializable for u64

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl Serializable for u128

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl Serializable for ()

source§

fn write_into<W: ByteWriter>(&self, _target: &mut W)

source§

impl Serializable for usize

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl<T1> Serializable for (T1,)
where T1: Serializable,

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl<T1, T2> Serializable for (T1, T2)
where T1: Serializable, T2: Serializable,

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl<T1, T2, T3> Serializable for (T1, T2, T3)

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl<T1, T2, T3, T4> Serializable for (T1, T2, T3, T4)

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl<T1, T2, T3, T4, T5> Serializable for (T1, T2, T3, T4, T5)

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl<T1, T2, T3, T4, T5, T6> Serializable for (T1, T2, T3, T4, T5, T6)

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl<T: Serializable> Serializable for Option<T>

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl<T: Serializable> Serializable for &T

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

source§

impl<T: Serializable> Serializable for [T]

source§

fn write_into<W: ?Sized + ByteWriter>(&self, target: &mut W)

source§

impl<T: Serializable, const C: usize> Serializable for [T; C]

source§

fn write_into<W: ByteWriter>(&self, target: &mut W)

Implementors§