Skip to main content

Encoder

Trait Encoder 

Source
pub trait Encoder {
    // Required methods
    fn byte_len(&self) -> usize
       where Self: Sized;
    fn encode<T: Write>(&self, buf: &mut T) -> Result<()>
       where Self: Sized;

    // Provided method
    fn to_bytes(&self) -> Result<Vec<u8>>
       where Self: Sized { ... }
}

Required Methods§

Source

fn byte_len(&self) -> usize
where Self: Sized,

Source

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>
where Self: Sized,

Provided Methods§

Source

fn to_bytes(&self) -> Result<Vec<u8>>
where Self: Sized,

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl Encoder for String

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for bool

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for f32

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for f64

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for i8

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for i16

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for i32

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for i64

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for i128

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for u8

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for u16

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for u32

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for u64

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Source§

impl Encoder for u128

Source§

fn byte_len(&self) -> usize

Source§

fn encode<T: Write>(&self, buf: &mut T) -> Result<()>

Implementors§