Skip to main content

MlsEncode

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§

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl MlsEncode for String

Source§

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

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<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 + Ord, V: MlsEncode,

Available on crate feature std only.
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<T> MlsEncode for &T
where T: MlsEncode + ?Sized,

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> 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,

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,