Skip to main content Skip to main content
Pigweed's logo Pigweed
code_xml
  1. Home
  2. Reference
  3. Rust
  4. pw_varint
  5. VarintEncode

VarintEncode

Trait VarintEncode 

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

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

pw_varint provides implementations for i8, u8, 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.

§Errors

Returns Error::OutOfRange if data is too small to hold the encoded varint.

Dyn Compatibility§

This trait is not dyn compatible.

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

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§