BitMagic-C++
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
bm::deserializer< BV, DEC > Class Template Reference

Deserializer for bit-vector. More...

#include <bmserial.h>

Inheritance diagram for bm::deserializer< BV, DEC >:
Inheritance graph
[legend]
Collaboration diagram for bm::deserializer< BV, DEC >:
Collaboration graph
[legend]

Public Types

typedef deseriaizer_base< DEC > parent_type
 
typedef BV bvector_type
 
typedef bvector_type::allocator_type allocator_type
 
typedef BV::size_type size_type
 
typedef bvector_type::block_idx_type block_idx_type
 
typedef deseriaizer_base< DEC >::decoder_type decoder_type
 

Public Member Functions

 deserializer ()
 
 ~deserializer ()
 
size_t deserialize (bvector_type &bv, const unsigned char *buf, bm::word_t *temp_block)
 

Protected Types

typedef BV::blocks_manager_type blocks_manager_type
 
typedef bm::heap_vector< bm::gap_word_t, allocator_typeblock_arridx_type
 
- Protected Types inherited from bm::deseriaizer_base< DEC >
typedef DEC decoder_type
 

Protected Member Functions

void deserialize_gap (unsigned char btype, decoder_type &dec, bvector_type &bv, blocks_manager_type &bman, block_idx_type nb, bm::word_t *blk)
 
void decode_bit_block (unsigned char btype, decoder_type &dec, blocks_manager_type &bman, block_idx_type nb, bm::word_t *blk)
 
- Protected Member Functions inherited from bm::deseriaizer_base< DEC >
 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)
 Read binary interpolated list into a bit-set. More...
 
void read_bic_gap (decoder_type &decoder, bm::word_t *blk)
 Read binary interpolated gap blocks into a bitset. More...
 
void read_bic_arr_inv (decoder_type &decoder, bm::word_t *blk)
 Read inverted binary interpolated list into a bit-set. More...
 
void read_digest0_block (decoder_type &decoder, bm::word_t *blk)
 Read digest0-type bit-block. More...
 

Protected Attributes

block_arridx_type bit_idx_arr_
 
block_arridx_type gap_temp_block_
 
bm::word_ttemp_block_
 
allocator_type alloc_
 
- Protected Attributes inherited from bm::deseriaizer_base< DEC >
bm::gap_word_tid_array_
 ptr to idx array for temp decode use More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from bm::deseriaizer_base< DEC >
static void read_0runs_block (decoder_type &decoder, bm::word_t *blk)
 read bit-block encoded as runs More...
 
static const char * err_msg ()
 

Detailed Description

template<class BV, class DEC>
class bm::deserializer< BV, DEC >

Deserializer for bit-vector.

Definition at line 379 of file bmserial.h.

Member Typedef Documentation

◆ allocator_type

template<class BV , class DEC >
typedef bvector_type::allocator_type bm::deserializer< BV, DEC >::allocator_type

Definition at line 384 of file bmserial.h.

◆ block_arridx_type

template<class BV , class DEC >
typedef bm::heap_vector<bm::gap_word_t, allocator_type> bm::deserializer< BV, DEC >::block_arridx_type
protected

Definition at line 409 of file bmserial.h.

◆ block_idx_type

template<class BV , class DEC >
typedef bvector_type::block_idx_type bm::deserializer< BV, DEC >::block_idx_type

Definition at line 386 of file bmserial.h.

◆ blocks_manager_type

template<class BV , class DEC >
typedef BV::blocks_manager_type bm::deserializer< BV, DEC >::blocks_manager_type
protected

Definition at line 397 of file bmserial.h.

◆ bvector_type

template<class BV , class DEC >
typedef BV bm::deserializer< BV, DEC >::bvector_type

Definition at line 383 of file bmserial.h.

◆ decoder_type

template<class BV , class DEC >
typedef deseriaizer_base<DEC>::decoder_type bm::deserializer< BV, DEC >::decoder_type

Definition at line 387 of file bmserial.h.

◆ parent_type

template<class BV , class DEC >
typedef deseriaizer_base<DEC> bm::deserializer< BV, DEC >::parent_type

Definition at line 382 of file bmserial.h.

◆ size_type

template<class BV , class DEC >
typedef BV::size_type bm::deserializer< BV, DEC >::size_type

Definition at line 385 of file bmserial.h.

Constructor & Destructor Documentation

◆ deserializer()

template<class BV , class DEC >
bm::deserializer< BV, DEC >::deserializer

Definition at line 2230 of file bmserial.h.

◆ ~deserializer()

template<class BV , class DEC >
bm::deserializer< BV, DEC >::~deserializer

Definition at line 2239 of file bmserial.h.

Member Function Documentation

◆ decode_bit_block()

template<class BV , class DEC >
void bm::deserializer< BV, DEC >::decode_bit_block ( unsigned char  btype,
decoder_type dec,
blocks_manager_type bman,
block_idx_type  nb,
bm::word_t blk 
)
protected

Definition at line 2366 of file bmserial.h.

◆ deserialize()

template<class BV , class DEC >
size_t bm::deserializer< BV, DEC >::deserialize ( bvector_type bv,
const unsigned char *  buf,
bm::word_t temp_block 
)

Definition at line 2433 of file bmserial.h.

Referenced by bm::deserialize().

◆ deserialize_gap()

template<class BV , class DEC >
void bm::deserializer< BV, DEC >::deserialize_gap ( unsigned char  btype,
decoder_type dec,
bvector_type bv,
blocks_manager_type bman,
block_idx_type  nb,
bm::word_t blk 
)
protected

Definition at line 2247 of file bmserial.h.

Field Documentation

◆ alloc_

template<class BV , class DEC >
allocator_type bm::deserializer< BV, DEC >::alloc_
protected

Definition at line 415 of file bmserial.h.

◆ bit_idx_arr_

template<class BV , class DEC >
block_arridx_type bm::deserializer< BV, DEC >::bit_idx_arr_
protected

Definition at line 412 of file bmserial.h.

◆ gap_temp_block_

template<class BV , class DEC >
block_arridx_type bm::deserializer< BV, DEC >::gap_temp_block_
protected

Definition at line 413 of file bmserial.h.

◆ temp_block_

template<class BV , class DEC >
bm::word_t* bm::deserializer< BV, DEC >::temp_block_
protected

Definition at line 414 of file bmserial.h.


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