BitMagic-C++: bm::deseriaizer_base< DEC, BLOCK_IDX > Class Template Reference

BitMagic-C++

Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes
bm::deseriaizer_base< DEC, BLOCK_IDX > Class Template Reference
BitMagic Library » bvector<> container » bvector<> serialization

Base deserialization class. More...

`#include <bmserial.h>`

Inheritance diagram for bm::deseriaizer_base< DEC, BLOCK_IDX >:
[legend]

## Protected Types
typedef DEC | decoder_type
typedef BLOCK_IDX | block_idx_type
typedef bm::bit_in< DEC > | bit_in_type

## Protected Member Functions
| deseriaizer_base ()
void | read_gap_block (decoder_type &decoder, unsigned block_type, bm::gap_word_t *dst_block, bm::gap_word_t &gap_head)
| Read GAP block from the stream. More...
unsigned | read_id_list (decoder_type &decoder, unsigned block_type, bm::gap_word_t *dst_arr)
| Read list of bit ids. More...
void | read_bic_arr (decoder_type &decoder, bm::word_t *blk) BMNOEXCEPT
| Read binary interpolated list into a bit-set. More...
void | read_bic_gap (decoder_type &decoder, bm::word_t *blk) BMNOEXCEPT
| Read binary interpolated gap blocks into a bitset. More...
void | read_bic_arr_inv (decoder_type &decoder, bm::word_t *blk) BMNOEXCEPT
| Read inverted binary interpolated list into a bit-set. More...
void | read_digest0_block (decoder_type &decoder, bm::word_t *blk) BMNOEXCEPT
| Read digest0-type bit-block. More...
block_idx_type | try_skip (decoder_type &decoder, block_idx_type nb, block_idx_type expect_nb) BMNOEXCEPT
| Try to skip if skip bookmark is available within reach. More...

## Static Protected Member Functions
static void | read_0runs_block (decoder_type &decoder, bm::word_t *blk) BMNOEXCEPT
| read bit-block encoded as runs More...
static const char * | err_msg () BMNOEXCEPT

## Protected Attributes
bm::gap_word_t * | id_array_
| ptr to idx array for temp decode use More...
block_idx_type | bookmark_idx_
| last bookmark block index More...
unsigned | skip_offset_
| bookmark to skip 256 encoded blocks More...
const unsigned char * | skip_pos_
| decoder skip position More...

## Detailed Description

### template<typename DEC, typename BLOCK_IDX>
class bm::deseriaizer_base< DEC, BLOCK_IDX >

Base deserialization class.

Definition at line 424 of file bmserial.h.

## Member Typedef Documentation

## ◆ bit_in_type

template<typename DEC , typename BLOCK_IDX >

typedef bm::bit_in<DEC> bm::deseriaizer_base< DEC, BLOCK_IDX >::bit_in_type
| protected

Definition at line 429 of file bmserial.h.

## ◆ block_idx_type

template<typename DEC , typename BLOCK_IDX >

typedef BLOCK_IDX bm::deseriaizer_base< DEC, BLOCK_IDX >::block_idx_type
| protected

Definition at line 428 of file bmserial.h.

## ◆ decoder_type

template<typename DEC , typename BLOCK_IDX >

typedef DEC bm::deseriaizer_base< DEC, BLOCK_IDX >::decoder_type
| protected

Definition at line 427 of file bmserial.h.

## Constructor & Destructor Documentation

## ◆ deseriaizer_base()

template<typename DEC , typename BLOCK_IDX >

bm::deseriaizer_base< DEC, BLOCK_IDX >::deseriaizer_base | ( |  | ) |
| inlineprotected

Definition at line 432 of file bmserial.h.

## Member Function Documentation

## ◆ err_msg()

template<typename DEC , typename BLOCK_IDX >

static const char* bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg | ( |  | ) |
| inlinestaticprotected

Definition at line 467 of file bmserial.h.

## ◆ read_0runs_block()

template<typename DEC , typename BLOCK_IDX >

void bm::deseriaizer_base< DEC, BLOCK_IDX >::read_0runs_block | ( | decoder_type & | decoder,
|  | bm::word_t * | blk
| ) |  |
| staticprotected

read bit-block encoded as runs

Definition at line 2985 of file bmserial.h.

## ◆ read_bic_arr()

template<typename DEC , typename BLOCK_IDX >

void bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr | ( | decoder_type & | decoder,
|  | bm::word_t * | blk
| ) |  |
| protected

Read binary interpolated list into a bit-set.

Definition at line 2888 of file bmserial.h.

## ◆ read_bic_arr_inv()

template<typename DEC , typename BLOCK_IDX >

void bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv | ( | decoder_type & | decoder,
|  | bm::word_t * | blk
| ) |  |
| protected

Read inverted binary interpolated list into a bit-set.

Definition at line 2911 of file bmserial.h.

## ◆ read_bic_gap()

template<typename DEC , typename BLOCK_IDX >

void bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap | ( | decoder_type & | decoder,
|  | bm::word_t * | blk
| ) |  |
| protected

Read binary interpolated gap blocks into a bitset.

Definition at line 2921 of file bmserial.h.

## ◆ read_digest0_block()

template<typename DEC , typename BLOCK_IDX >

void bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block | ( | decoder_type & | decoder,
|  | bm::word_t * | blk
| ) |  |
| protected

Read digest0-type bit-block.

Definition at line 2945 of file bmserial.h.

## ◆ read_gap_block()

template<typename DEC , typename BLOCK_IDX >

void bm::deseriaizer_base< DEC, BLOCK_IDX >::read_gap_block | ( | decoder_type & | decoder,
|  | unsigned | block_type,
|  | bm::gap_word_t * | dst_block,
|  | bm::gap_word_t & | gap_head
| ) |  |
| protected

Read GAP block from the stream.

Definition at line 3016 of file bmserial.h.

## ◆ read_id_list()

template<typename DEC , typename BLOCK_IDX >

unsigned bm::deseriaizer_base< DEC, BLOCK_IDX >::read_id_list | ( | decoder_type & | decoder,
|  | unsigned | block_type,
|  | bm::gap_word_t * | dst_arr
| ) |  |
| protected

Read list of bit ids.

Returns
  number of ids

Definition at line 2803 of file bmserial.h.

## ◆ try_skip()

template<typename DEC , typename BLOCK_IDX >

deseriaizer_base< DEC, BLOCK_IDX >::block_idx_type bm::deseriaizer_base< DEC, BLOCK_IDX >::try_skip | ( | decoder_type & | decoder,
|  | block_idx_type | nb,
|  | block_idx_type | expect_nb
| ) |  |
| protected

Try to skip if skip bookmark is available within reach.

Returns
  new block idx if skip went well

Definition at line 3143 of file bmserial.h.

Referenced by bm::serial_stream_iterator< DEC, BLOCK_IDX >::try_skip().

## Field Documentation

## ◆ bookmark_idx_

template<typename DEC , typename BLOCK_IDX >

block_idx_type bm::deseriaizer_base< DEC, BLOCK_IDX >::bookmark_idx_
| protected

last bookmark block index

Definition at line 479 of file bmserial.h.

## ◆ id_array_

template<typename DEC , typename BLOCK_IDX >

bm::gap_word_t* bm::deseriaizer_base< DEC, BLOCK_IDX >::id_array_
| protected

ptr to idx array for temp decode use

Definition at line 477 of file bmserial.h.

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

## ◆ skip_offset_

template<typename DEC , typename BLOCK_IDX >

unsigned bm::deseriaizer_base< DEC, BLOCK_IDX >::skip_offset_
| protected

bookmark to skip 256 encoded blocks

Definition at line 480 of file bmserial.h.

## ◆ skip_pos_

template<typename DEC , typename BLOCK_IDX >

const unsigned char* bm::deseriaizer_base< DEC, BLOCK_IDX >::skip_pos_
| protected

decoder skip position

Definition at line 481 of file bmserial.h.

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

- bmserial.h