Trait VarintEncode

Source
pub trait VarintEncode: Sized {
    // Required method
    fn varint_encode(self, data: &mut [u8]) -> Result<usize>;
}
Expand description

A trait for objects than can be encoded into a varint.

pw_varint provides implementations for i16, u16, i32, u32, i64, and u64.

Required Methods§

Source

fn varint_encode(self, data: &mut [u8]) -> Result<usize>

Encode a type into a varint encoded series of bytes.

Signed values will be implicitly zig-zag encoded.

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 VarintEncode for i8

Source§

fn varint_encode(self, data: &mut [u8]) -> Result<usize>

Source§

impl VarintEncode for i16

Source§

fn varint_encode(self, data: &mut [u8]) -> Result<usize>

Source§

impl VarintEncode for i32

Source§

fn varint_encode(self, data: &mut [u8]) -> Result<usize>

Source§

impl VarintEncode for i64

Source§

fn varint_encode(self, data: &mut [u8]) -> Result<usize>

Source§

impl VarintEncode for u8

Source§

fn varint_encode(self, data: &mut [u8]) -> Result<usize>

Source§

impl VarintEncode for u16

Source§

fn varint_encode(self, data: &mut [u8]) -> Result<usize>

Source§

impl VarintEncode for u32

Source§

fn varint_encode(self, data: &mut [u8]) -> Result<usize>

Source§

impl VarintEncode for u64

Source§

fn varint_encode(self, data: &mut [u8]) -> Result<usize>

Implementors§