pub trait VarCode {
// Required methods
fn var_bit_len(&self) -> usize;
fn var_write(&self, write: &mut WriteBits<impl Write>) -> Result<()>;
fn var_read(read: &mut ReadBits<impl Read>) -> Result<Self>
where Self: Sized;
}Expand description
A trait for variable-length, bit-level encoding and decoding.
Types implementing VarCode can serialize themselves into a variable number of bits
via WriteBits and deserialize from ReadBits. A blanket implementation is provided
for all FixedCode types, writing their fixed-size representation as whole bytes.
Required Methods§
fn var_bit_len(&self) -> usize
fn var_write(&self, write: &mut WriteBits<impl Write>) -> Result<()>
fn var_read(read: &mut ReadBits<impl Read>) -> Result<Self>where
Self: Sized,
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.