Skip to main content

BitPack

Trait BitPack 

Source
pub trait BitPack: Sized {
    const MAX_BITS: usize;

    // Required methods
    fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>;
    fn unpack(reader: &mut BitReader<'_>) -> Result<Self>;
}
Available on crate feature bit-packing only.
Expand description

Generated or handwritten bit-packed representation.

Required Associated Constants§

Source

const MAX_BITS: usize

Worst-case meaningful bits for this type.

Required Methods§

Source

fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>

Packs this value into an existing writer.

Source

fn unpack(reader: &mut BitReader<'_>) -> Result<Self>

Unpacks this value from an existing reader.

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 BitPack for bool

Source§

const MAX_BITS: usize = 1

Source§

fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>

Source§

fn unpack(reader: &mut BitReader<'_>) -> Result<Self>

Source§

impl BitPack for i8

Source§

const MAX_BITS: usize

Source§

fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>

Source§

fn unpack(reader: &mut BitReader<'_>) -> Result<Self>

Source§

impl BitPack for i16

Source§

const MAX_BITS: usize

Source§

fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>

Source§

fn unpack(reader: &mut BitReader<'_>) -> Result<Self>

Source§

impl BitPack for i32

Source§

const MAX_BITS: usize

Source§

fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>

Source§

fn unpack(reader: &mut BitReader<'_>) -> Result<Self>

Source§

impl BitPack for i64

Source§

const MAX_BITS: usize

Source§

fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>

Source§

fn unpack(reader: &mut BitReader<'_>) -> Result<Self>

Source§

impl BitPack for i128

Source§

const MAX_BITS: usize

Source§

fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>

Source§

fn unpack(reader: &mut BitReader<'_>) -> Result<Self>

Source§

impl BitPack for u8

Source§

const MAX_BITS: usize

Source§

fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>

Source§

fn unpack(reader: &mut BitReader<'_>) -> Result<Self>

Source§

impl BitPack for u16

Source§

const MAX_BITS: usize

Source§

fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>

Source§

fn unpack(reader: &mut BitReader<'_>) -> Result<Self>

Source§

impl BitPack for u32

Source§

const MAX_BITS: usize

Source§

fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>

Source§

fn unpack(reader: &mut BitReader<'_>) -> Result<Self>

Source§

impl BitPack for u64

Source§

const MAX_BITS: usize

Source§

fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>

Source§

fn unpack(reader: &mut BitReader<'_>) -> Result<Self>

Source§

impl BitPack for u128

Source§

const MAX_BITS: usize

Source§

fn pack(&self, writer: &mut BitWriter<'_>) -> Result<()>

Source§

fn unpack(reader: &mut BitReader<'_>) -> Result<Self>

Implementors§