BitMagic-C++
bm::bit_in< TDecoder > Class Template Reference

Byte based reader for un-aligned bit streaming. More...

#include <encoding.h>

Inheritance diagram for bm::bit_in< TDecoder >:

Public Member Functions

 bit_in (TDecoder &decoder) BMNOEXCEPT
unsigned gamma () BMNOEXCEPT
 decode unsigned value using Elias Gamma coding
unsigned get_bits (unsigned count) BMNOEXCEPT
 read number of bits out of the stream
unsigned get_bit () BMNOEXCEPT
 read 1 bit
void bic_decode_u16 (bm::gap_word_t *arr, unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) BMNOEXCEPT
 Binary Interpolative array decode.
void bic_decode_u16_bitset (bm::word_t *block, unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) BMNOEXCEPT
void bic_decode_u16_dry (unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) BMNOEXCEPT
void bic_decode_u16_rg (bm::gap_word_t *arr, unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) BMNOEXCEPT
 Binary Interpolative array decode.
void bic_decode_u16_cm (bm::gap_word_t *arr, unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) BMNOEXCEPT
 Binary Interpolative array decode.
void bic_decode_u32_cm (bm::word_t *arr, unsigned sz, bm::word_t lo, bm::word_t hi) BMNOEXCEPT
 Binary Interpolative array decode (32-bit).
void bic_decode_u16_rg_bitset (bm::word_t *block, unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) BMNOEXCEPT
 Binary Interpolative array decode into bitset (32-bit based).
void bic_decode_u16_rg_dry (unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) BMNOEXCEPT
 Binary Interpolative array decode into /dev/null.
void bic_decode_u16_cm_bitset (bm::word_t *block, unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) BMNOEXCEPT
 Binary Interpolative array decode into bitset (32-bit based).
void bic_decode_u16_cm_dry (unsigned sz, bm::gap_word_t lo, bm::gap_word_t hi) BMNOEXCEPT
 Binary Interpolative array decode into /dev/null.

Detailed Description

template<class TDecoder>
class bm::bit_in< TDecoder >

Byte based reader for un-aligned bit streaming.

See also
encoder

Definition at line 256 of file encoding.h.

Constructor & Destructor Documentation

◆ bit_in()

template<class TDecoder>
bm::bit_in< TDecoder >::bit_in ( TDecoder & decoder)
inline

Definition at line 259 of file encoding.h.

Member Function Documentation

◆ bic_decode_u16()

template<class TDecoder>
void bm::bit_in< TDecoder >::bic_decode_u16 ( bm::gap_word_t * arr,
unsigned sz,
bm::gap_word_t lo,
bm::gap_word_t hi )
inline

◆ bic_decode_u16_bitset()

template<class TDecoder>
void bm::bit_in< TDecoder >::bic_decode_u16_bitset ( bm::word_t * block,
unsigned sz,
bm::gap_word_t lo,
bm::gap_word_t hi )
inline

Definition at line 282 of file encoding.h.

Referenced by bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr().

◆ bic_decode_u16_cm()

template<class TDecoder>
void bm::bit_in< TDecoder >::bic_decode_u16_cm ( bm::gap_word_t * arr,
unsigned sz,
bm::gap_word_t lo,
bm::gap_word_t hi )

Binary Interpolative array decode.

Definition at line 1561 of file encoding.h.

References bic_decode_u16_cm(), bm::bit_scan_reverse32(), BM_ASSERT, BMNOEXCEPT, get_bit(), and get_bits().

Referenced by bic_decode_u16_cm().

◆ bic_decode_u16_cm_bitset()

template<class TDecoder>
void bm::bit_in< TDecoder >::bic_decode_u16_cm_bitset ( bm::word_t * block,
unsigned sz,
bm::gap_word_t lo,
bm::gap_word_t hi )

Binary Interpolative array decode into bitset (32-bit based).

Definition at line 1605 of file encoding.h.

References bic_decode_u16_cm_bitset(), bm::bit_scan_reverse32(), BM_ASSERT, BMNOEXCEPT, get_bit(), get_bits(), bm::set_word_mask, and bm::set_word_shift.

Referenced by bic_decode_u16_cm_bitset().

◆ bic_decode_u16_cm_dry()

template<class TDecoder>
void bm::bit_in< TDecoder >::bic_decode_u16_cm_dry ( unsigned sz,
bm::gap_word_t lo,
bm::gap_word_t hi )

Binary Interpolative array decode into /dev/null.

Definition at line 1654 of file encoding.h.

References bic_decode_u16_cm_dry(), bm::bit_scan_reverse32(), BM_ASSERT, BMNOEXCEPT, get_bit(), and get_bits().

Referenced by bic_decode_u16_cm_dry().

◆ bic_decode_u16_dry()

template<class TDecoder>
void bm::bit_in< TDecoder >::bic_decode_u16_dry ( unsigned sz,
bm::gap_word_t lo,
bm::gap_word_t hi )
inline

Definition at line 288 of file encoding.h.

Referenced by bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr().

◆ bic_decode_u16_rg()

template<class TDecoder>
void bm::bit_in< TDecoder >::bic_decode_u16_rg ( bm::gap_word_t * arr,
unsigned sz,
bm::gap_word_t lo,
bm::gap_word_t hi )

Binary Interpolative array decode.

Definition at line 1472 of file encoding.h.

References bic_decode_u16_rg(), bm::bit_scan_reverse32(), BM_ASSERT, BMNOEXCEPT, and get_bits().

Referenced by bic_decode_u16_rg().

◆ bic_decode_u16_rg_bitset()

template<class TDecoder>
void bm::bit_in< TDecoder >::bic_decode_u16_rg_bitset ( bm::word_t * block,
unsigned sz,
bm::gap_word_t lo,
bm::gap_word_t hi )

Binary Interpolative array decode into bitset (32-bit based).

Definition at line 1703 of file encoding.h.

References bic_decode_u16_rg_bitset(), bm::bit_scan_reverse32(), BM_ASSERT, BMNOEXCEPT, get_bits(), bm::set_word_mask, and bm::set_word_shift.

Referenced by bic_decode_u16_rg_bitset().

◆ bic_decode_u16_rg_dry()

template<class TDecoder>
void bm::bit_in< TDecoder >::bic_decode_u16_rg_dry ( unsigned sz,
bm::gap_word_t lo,
bm::gap_word_t hi )

Binary Interpolative array decode into /dev/null.

Definition at line 1751 of file encoding.h.

References bic_decode_u16_rg_dry(), bm::bit_scan_reverse32(), BM_ASSERT, BMNOEXCEPT, and get_bits().

Referenced by bic_decode_u16_rg_dry().

◆ bic_decode_u32_cm()

template<class TDecoder>
void bm::bit_in< TDecoder >::bic_decode_u32_cm ( bm::word_t * arr,
unsigned sz,
bm::word_t lo,
bm::word_t hi )

◆ gamma()

template<class TDecoder>
unsigned bm::bit_in< TDecoder >::gamma ( )

◆ get_bit()

template<class TDecoder>
unsigned bm::bit_in< TDecoder >::get_bit ( )

read 1 bit

Definition at line 1914 of file encoding.h.

References BM_ASSERT, and BMNOEXCEPT.

Referenced by bic_decode_u16_cm(), bic_decode_u16_cm_bitset(), bic_decode_u16_cm_dry(), and bic_decode_u32_cm().

◆ get_bits()

template<class TDecoder>
unsigned bm::bit_in< TDecoder >::get_bits ( unsigned count)

The documentation for this class was generated from the following file: