Decode

Trait Decode 

Source
pub trait Decode: Sized {
    // Required method
    fn decode<R: Read>(r: R) -> Result<Self, Error>;
}
Expand description

A trait that can be decoded from an io::Read stream.

Implementing this trait allows types to be decoded from an io::Read stream, which is useful for reading data from various sources like files, buffers, and streams.

§Examples

use codeq::Decode;

let data = b"\x00\x00\x00\x05hello";
let decoded = String::decode(&data[..]).unwrap();
assert_eq!(decoded, "hello");

Required Methods§

Source

fn decode<R: Read>(r: R) -> Result<Self, Error>

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 bool

Source§

fn decode<R: Read>(r: R) -> Result<Self, Error>

Source§

impl Decode for u8

Source§

fn decode<R: Read>(r: R) -> Result<Self, Error>

Source§

impl Decode for u32

Source§

fn decode<R: Read>(r: R) -> Result<Self, Error>

Source§

impl Decode for u64

Source§

fn decode<R: Read>(r: R) -> Result<Self, Error>

Source§

impl Decode for ()

Source§

fn decode<R: Read>(_r: R) -> Result<Self, Error>

Source§

impl Decode for String

Source§

fn decode<R: Read>(r: R) -> Result<Self, Error>

Source§

impl Decode for Vec<u8>

Source§

fn decode<R: Read>(r: R) -> Result<Self, Error>

Source§

impl<A: Decode, B: Decode> Decode for (A, B)

Source§

fn decode<R: Read>(r: R) -> Result<Self, Error>

Source§

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

Source§

fn decode<R: Read>(r: R) -> Result<Self, Error>

Implementors§

Source§

impl<C> Decode for Segment<C>
where C: CodeqConfig,

Source§

impl<C, T> Decode for WithChecksum<C, T>
where C: CodeqConfig, T: Decode,