bm::bit_in< TDecoder > Class Template Reference
Elias Gamma Code (internal)

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

`#include <encoding.h>`

Inheritance diagram for bm::bit_in< TDecoder >:
[legend]

## 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

Binary Interpolative array decode.

Definition at line 275 of file encoding.h.

Referenced by bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_gap_block(), and bm::deseriaizer_base< DEC, BLOCK_IDX >::read_id_list().

## 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 )

Binary Interpolative array decode (32-bit).

Definition at line 1516 of file encoding.h.

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

Referenced by bic_decode_u32_cm(), bm::sparse_vector_deserializer< SV >::load_planes_off_table(), and bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_sb_arr().

## gamma()

template<class TDecoder>

unsigned bm::bit_in< TDecoder >::gamma | ( |  | ) |

decode unsigned value using Elias Gamma coding

Definition at line 1792 of file encoding.h.

References bm::block_set_table< T >::_left, bm::bit_scan_fwd(), and BMNOEXCEPT.

Referenced by bm::sparse_vector_deserializer< SV >::load_remap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_gap_block(), and bm::deseriaizer_base< DEC, BLOCK_IDX >::read_id_list().

## 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 | ) |

read number of bits out of the stream

Definition at line 1877 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(), bic_decode_u16_rg(), bic_decode_u16_rg_bitset(), bic_decode_u16_rg_dry(), and bic_decode_u32_cm().

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

- encoding.h