# bm::deserializer< BV, DEC > Class Template Reference
[bvector serialization]

Class deserializer. More...

`#include <bmserial.h>`

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

## Public Types

typedef BV | bvector_type
typedef deseriaizer_base< DEC > ::decoder_type | decoder_type

## Public Member Functions

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

## Protected Types

typedef BV::blocks_manager_type | blocks_manager_type
typedef BV::allocator_type | allocator_type

## Protected Member Functions

void | deserialize_gap (unsigned char btype, decoder_type &dec, bvector_type &bv, blocks_manager_type &bman, unsigned i, bm::word_t *blk)

## Protected Attributes

bm::gap_word_t | gap_temp_block_ [bm::gap_equiv_len *4]
bm::word_t * | temp_block_

## Detailed Description

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

Class deserializer.

Definition at line 283 of file bmserial.h.

## Member Typedef Documentation

template<class BV, class DEC>

typedef BV::allocator_type bm::deserializer< BV, DEC >::allocator_type`[protected]`

Definition at line 297 of file bmserial.h.

template<class BV, class DEC>

typedef BV::blocks_manager_type bm::deserializer< BV, DEC >::blocks_manager_type`[protected]`

Definition at line 296 of file bmserial.h.

template<class BV, class DEC>

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

Definition at line 286 of file bmserial.h.

template<class BV, class DEC>

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

Reimplemented from bm::deseriaizer_base< DEC >.

Definition at line 287 of file bmserial.h.

## Constructor & Destructor Documentation

template<class BV, class DEC>

bm::deserializer< BV, DEC >::deserializer | ( |  | ) | `[inline]`

Definition at line 290 of file bmserial.h.

## Member Function Documentation

template<class BV , class DEC >

unsigned bm::deserializer< BV, DEC >::deserialize | ( | bvector_type & | bv,
|  | const unsigned char * | buf,
|  | bm::word_t * | temp_block |
| ) |  |  | `[inline]`

Definition at line 1424 of file bmserial.h.

References bm::bit_block_set(), bm::bits_in_block, BM_ASSERT, bm::BM_GAP, bm::BM_HM_ID_LIST, bm::BM_HM_NO_BO, bm::BM_HM_NO_GAPL, bm::BM_HM_RESIZE, bm::BM_OR, BM_SET_MMX_GUARD, BM_SET_ONE_BLOCKS, bm::deserializer< BV, DEC >::deserialize_gap(), bm::gap_levels, bm::set_bit(), bm::set_block_16one, bm::set_block_16zero, bm::set_block_1one, bm::set_block_1zero, bm::set_block_32one, bm::set_block_32zero, bm::set_block_8one, bm::set_block_8zero, bm::set_block_aone, bm::set_block_arrbit, bm::set_block_arrgap, bm::set_block_arrgap_egamma, bm::set_block_arrgap_egamma_inv, bm::set_block_arrgap_inv, bm::set_block_azero, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_interval, bm::set_block_end, bm::set_block_gap, bm::set_block_gap_egamma, bm::set_block_gapbit, bm::set_block_size, bm::set_total_blocks, and bm::deserializer< BV, DEC >::temp_block_.

Referenced by bm::deserialize().

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,
|  | unsigned | i,
|  | bm::word_t * | blk |
| ) |  |  | `[inline, protected]`

Definition at line 1316 of file bmserial.h.

References bm::bit_block_set(), BM_ASSERT, bm::BM_OR, BMGAP_PTR, bm::gap_add_to_bitset(), bm::gap_add_to_bitset_l(), bm::gap_calc_level(), bm::gap_convert_to_bitset(), bm::gap_length(), bm::gap_length_threashold, bm::gap_max_bits, bm::gap_set_array(), bm::deserializer< BV, DEC >::gap_temp_block_, bm::deseriaizer_base< DEC >::id_array_, bm::deseriaizer_base< DEC >::read_gap_block(), bm::deseriaizer_base< DEC >::read_id_list(), bm::set_block_arrgap, bm::set_block_arrgap_egamma, bm::set_block_arrgap_egamma_inv, bm::set_block_arrgap_inv, bm::set_block_gap, bm::set_block_gap_egamma, bm::set_block_gapbit, and bm::set_gap_level().

Referenced by bm::deserializer< BV, DEC >::deserialize().

## Field Documentation

template<class BV, class DEC>

bm::gap_word_t bm::deserializer< BV, DEC >::gap_temp_block_[bm::gap_equiv_len *4]`[protected]`

Definition at line 305 of file bmserial.h.

Referenced by bm::deserializer< BV, DEC >::deserialize_gap().

template<class BV, class DEC>

bm::word_t* bm::deserializer< BV, DEC >::temp_block_`[protected]`

Definition at line 306 of file bmserial.h.

Referenced by bm::deserializer< BV, DEC >::deserialize().

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

- bmserial.h