AzBufVar

Trait AzBufVar 

Source
pub trait AzBufVar
where Self: Sized,
{ // Required methods fn azalea_read_var(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError>; fn azalea_write_var(&self, buf: &mut impl Write) -> Result<()>; }
Expand description

Used for types that have an alternative variable-length encoding.

This mostly exists for varints.

Required Methods§

Source

fn azalea_read_var(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError>

Source

fn azalea_write_var(&self, buf: &mut impl Write) -> Result<()>

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 AzBufVar for i32

Source§

fn azalea_read_var(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError>

Read a single varint from the reader and return the value

Source§

fn azalea_write_var(&self, buf: &mut impl Write) -> Result<()>

Source§

impl AzBufVar for i64

Source§

fn azalea_read_var(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError>

Source§

fn azalea_write_var(&self, buf: &mut impl Write) -> Result<()>

Source§

impl AzBufVar for u16

Source§

fn azalea_read_var(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError>

Source§

fn azalea_write_var(&self, buf: &mut impl Write) -> Result<()>

Source§

impl AzBufVar for u32

Source§

fn azalea_read_var(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError>

Source§

fn azalea_write_var(&self, buf: &mut impl Write) -> Result<()>

Source§

impl AzBufVar for u64

Source§

fn azalea_read_var(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError>

Source§

fn azalea_write_var(&self, buf: &mut impl Write) -> Result<()>

Source§

impl<K: AzBuf + Eq + Hash, V: AzBufVar> AzBufVar for HashMap<K, V>

Source§

fn azalea_read_var(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError>

Source§

fn azalea_write_var(&self, buf: &mut impl Write) -> Result<()>

Source§

impl<K: AzBuf + Eq + Hash, V: AzBufVar> AzBufVar for IndexMap<K, V>

Source§

fn azalea_read_var(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError>

Source§

fn azalea_write_var(&self, buf: &mut impl Write) -> Result<()>

Source§

impl<T: AzBufVar> AzBufVar for Option<T>

Source§

fn azalea_read_var(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError>

Source§

fn azalea_write_var(&self, buf: &mut impl Write) -> Result<()>

Source§

impl<T: AzBufVar> AzBufVar for Box<[T]>

Source§

fn azalea_read_var(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError>

Source§

fn azalea_write_var(&self, buf: &mut impl Write) -> Result<()>

Source§

impl<T: AzBufVar> AzBufVar for Vec<T>

Source§

fn azalea_read_var(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError>

Source§

fn azalea_write_var(&self, buf: &mut impl Write) -> Result<()>

Implementors§