BitMagic-C++
Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes
bm::deseriaizer_base< DEC, BLOCK_IDX > Class Template Reference

Base deserialization class. More...

#include <bmserial.h>

Inheritance diagram for bm::deseriaizer_base< DEC, BLOCK_IDX >:
Inheritance graph
[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_tid_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: