Trait MlsEncode

Source
pub trait MlsEncode: MlsSize {
    // Required method
    fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>;

    // Provided method
    fn mls_encode_to_vec(&self) -> Result<Vec<u8>, Error> { ... }
}
Expand description

Trait to support serializing a type with MLS encoding.

Required Methods§

Source

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Provided Methods§

Implementations on Foreign Types§

Source§

impl MlsEncode for bool

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl MlsEncode for str

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl MlsEncode for u8

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl MlsEncode for u16

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl MlsEncode for u32

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl MlsEncode for u64

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl MlsEncode for u128

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl MlsEncode for String

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl<K, V> MlsEncode for BTreeMap<K, V>
where K: MlsEncode, V: MlsEncode,

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl<K, V> MlsEncode for HashMap<K, V>
where K: MlsEncode, V: MlsEncode,

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl<T> MlsEncode for Cow<'_, T>
where T: MlsEncode + ToOwned,

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl<T> MlsEncode for &T
where T: MlsEncode + ?Sized,

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

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

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl<T> MlsEncode for Box<T>
where T: MlsEncode + ?Sized,

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl<T, U> MlsEncode for (T, U)
where T: MlsEncode, U: MlsEncode,

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl<T: MlsEncode> MlsEncode for Option<T>

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Source§

impl<const N: usize> MlsEncode for [u8; N]

Source§

fn mls_encode(&self, writer: &mut Vec<u8>) -> Result<(), Error>

Implementors§

Source§

impl MlsEncode for VarInt

Source§

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