Trait EncodeExt

Source
pub trait EncodeExt<'a>:
    Sized
    + Encode
    + 'a {
    // Provided methods
    fn encode_iter(
        items: impl Iterator<Item = &'a Self>,
        buff: &mut [u8],
    ) -> Result<usize, Self::Error> { ... }
    fn encode_buff<const N: usize>(
        &self,
    ) -> Result<([u8; N], usize), Self::Error> { ... }
    fn encode_vec(&self) -> Result<(Vec<u8>, usize), Self::Error> { ... }
}
Expand description

Extensions to Encode trait for encodable types

Provided Methods§

Source

fn encode_iter( items: impl Iterator<Item = &'a Self>, buff: &mut [u8], ) -> Result<usize, Self::Error>

Helper to encode iterables

Source

fn encode_buff<const N: usize>(&self) -> Result<([u8; N], usize), Self::Error>

Helper to encode to a fixed size buffer

Source

fn encode_vec(&self) -> Result<(Vec<u8>, usize), Self::Error>

Helper to encode to a vector, uses encode_len to set length

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.

Implementors§

Source§

impl<'a, T> EncodeExt<'a> for T
where T: Encode + 'a,

Blanket implementation for all Encode types