miden_crypto::utils

Trait Serializable

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

    // 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>(&self, target: &mut W)
where W: ByteWriter,

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>(&self, target: &mut W)
where W: ByteWriter,

source§

fn get_size_hint(&self) -> usize

source§

impl Serializable for u8

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl Serializable for u16

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl Serializable for u32

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl Serializable for u64

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl Serializable for u128

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl Serializable for ()

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl Serializable for usize

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl Serializable for String

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl Serializable for BaseElement

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl Serializable for BaseElement

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl<K, V> Serializable for BTreeMap<K, V>

source§

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

source§

fn get_size_hint(&self) -> usize

source§

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

source§

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

source§

fn get_size_hint(&self) -> usize

source§

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

source§

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

source§

fn get_size_hint(&self) -> usize

source§

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

source§

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

source§

fn get_size_hint(&self) -> usize

source§

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

source§

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

source§

fn get_size_hint(&self) -> usize

source§

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

source§

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

source§

fn get_size_hint(&self) -> usize

source§

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

source§

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

source§

fn get_size_hint(&self) -> usize

source§

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

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl<T> Serializable for &T
where T: Serializable,

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl<T> Serializable for [T]
where T: Serializable,

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl<T> Serializable for BTreeSet<T>
where T: Serializable,

source§

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

source§

fn get_size_hint(&self) -> usize

source§

impl<T> Serializable for Vec<T>
where T: Serializable,

source§

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

source§

fn get_size_hint(&self) -> usize

source§

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

source§

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

source§

fn get_size_hint(&self) -> usize

Implementors§