Decode

Trait Decode 

Source
pub trait Decode: Sized {
    // Required method
    fn decode(buf: &mut &[u8]) -> Result<Self>;

    // Provided method
    fn decode_exact(buf: &mut &[u8], size: usize) -> Result<Self> { ... }
}
Expand description

Decode an element from a buffer.

Required Methods§

Source

fn decode(buf: &mut &[u8]) -> Result<Self>

Decode an element from the buffer.

Provided Methods§

Source

fn decode_exact(buf: &mut &[u8], size: usize) -> Result<Self>

Helper: Decode exactly size bytes from the buffer.

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.

Implementations on Foreign Types§

Source§

impl Decode for i8

Source§

fn decode(buf: &mut &[u8]) -> Result<Self>

Source§

impl Decode for i16

Source§

fn decode(buf: &mut &[u8]) -> Result<Self>

Source§

impl Decode for i32

Source§

fn decode(buf: &mut &[u8]) -> Result<Self>

Source§

impl Decode for i64

Source§

fn decode(buf: &mut &[u8]) -> Result<Self>

Source§

impl Decode for u8

Source§

fn decode(buf: &mut &[u8]) -> Result<Self>

Source§

impl Decode for u16

Source§

fn decode(buf: &mut &[u8]) -> Result<Self>

Source§

impl Decode for u32

Source§

fn decode(buf: &mut &[u8]) -> Result<Self>

Source§

impl Decode for u64

Source§

fn decode(buf: &mut &[u8]) -> Result<Self>

Source§

impl<T: Decode> Decode for Option<T>

Source§

fn decode(buf: &mut &[u8]) -> Result<Self>

§Safety:

The buffer is not modified during decoding, as we holding a immutable reference to it.

Source§

impl<T: Decode> Decode for Vec<T>

Source§

fn decode(buf: &mut &[u8]) -> Result<Self>

Source§

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

Source§

fn decode(buf: &mut &[u8]) -> Result<Self>

Implementors§

Source§

impl Decode for Header

Source§

impl Decode for VInt64

Source§

impl<T: Element> Decode for T