NCBI C++ ToolKit
|
Search Toolkit Book for bm::deseriaizer_base
Base deserialization class. More...
#include <util/bitset/bmserial.h>
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, unsigned block_type) noexcept |
Read binary interpolated list into a bit-set. More... | |
unsigned | read_bic_sb_arr (decoder_type &decoder, unsigned block_type, unsigned *dst_arr, unsigned *sb_idx) |
Read list of bit ids for super-blocks. More... | |
void | read_bic_gap (decoder_type &decoder, bm::word_t *blk) noexcept |
Read binary interpolated gap blocks into a bitset. More... | |
void | read_bic_arr_inv (decoder_type &decoder, bm::word_t *blk) noexcept |
Read inverted binary interpolated list into a bit-set. More... | |
void | read_digest0_block (decoder_type &decoder, bm::word_t *blk) noexcept |
Read digest0-type bit-block. More... | |
block_idx_type | try_skip (decoder_type &decoder, block_idx_type nb, block_idx_type expect_nb) noexcept |
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) noexcept |
read bit-block encoded as runs More... | |
static const char * | err_msg () noexcept |
Protected Attributes | |
bm::gap_word_t * | id_array_ |
ptr to idx array for temp decode use More... | |
unsigned * | sb_id_array_ |
ptr to super-block idx array (temp) 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... | |
Base deserialization class.
Definition at line 493 of file bmserial.h.
|
protected |
Definition at line 498 of file bmserial.h.
|
protected |
Definition at line 497 of file bmserial.h.
|
protected |
Definition at line 496 of file bmserial.h.
|
inlineprotected |
Definition at line 501 of file bmserial.h.
|
inlinestaticprotectednoexcept |
Definition at line 545 of file bmserial.h.
|
staticprotectednoexcept |
read bit-block encoded as runs
Definition at line 3518 of file bmserial.h.
References bm::bit_block_set(), BM_ASSERT, and bm::set_block_size.
|
protectednoexcept |
Read binary interpolated list into a bit-set.
Definition at line 3337 of file bmserial.h.
References bm::bit_in< TDecoder >::bic_decode_u16_bitset(), bm::bit_in< TDecoder >::bic_decode_u16_dry(), BM_ASSERT, BM_IS_GAP, IS_VALID_ADDR, bm::set_bit(), bm::set_block_arr_bienc, and bm::set_block_arr_bienc_8bh.
|
protectednoexcept |
Read inverted binary interpolated list into a bit-set.
Definition at line 3445 of file bmserial.h.
References bm::bit_block_set(), bm::bit_invert(), and bm::set_block_arr_bienc.
|
protectednoexcept |
Read binary interpolated gap blocks into a bitset.
Definition at line 3455 of file bmserial.h.
References bm::bit_in< TDecoder >::bic_decode_u16(), BM_ASSERT, BM_IS_GAP, bm::gap_add_to_bitset(), head, and IS_VALID_ADDR.
|
protected |
Read list of bit ids for super-blocks.
Definition at line 3375 of file bmserial.h.
References bm::bit_in< TDecoder >::bic_decode_u32_cm(), BM_ASSERT, len, bm::sblock_flag_len16, bm::sblock_flag_max16, bm::sblock_flag_max24, bm::sblock_flag_min16, bm::sblock_flag_min24, bm::sblock_flag_sb16, bm::sblock_flag_sb32, bm::set_sblock_bienc, and bm::set_sub_total_bits.
|
protectednoexcept |
Read digest0-type bit-block.
Definition at line 3478 of file bmserial.h.
References bm::bmi_blsi_u64(), bm::bmi_bslr_u64(), IS_VALID_ADDR, bm::set_block_digest_wave_size, t, and bm::word_bitcount64().
|
protected |
Read GAP block from the stream.
Definition at line 3549 of file bmserial.h.
References bm::bit_in< TDecoder >::bic_decode_u16(), BM_ASSERT, bm::bit_in< TDecoder >::gamma(), bm::gap_add_value(), bm::gap_invert(), bm::gap_length(), bm::gap_max_bits, bm::gap_set_all(), bm::gap_set_array(), bm::decoder::get_16(), bm::decoder_base::get_8(), i, len, bm::set_block_arrgap, bm::set_block_arrgap_bienc, bm::set_block_arrgap_bienc_inv, bm::set_block_arrgap_bienc_inv_v2, bm::set_block_arrgap_bienc_v2, bm::set_block_arrgap_egamma, bm::set_block_arrgap_egamma_inv, bm::set_block_arrgap_inv, bm::set_block_bit_1bit, bm::set_block_gap, bm::set_block_gap_bienc, bm::set_block_gap_bienc_v2, and bm::set_block_gap_egamma.
|
protected |
Read list of bit ids.
Definition at line 3252 of file bmserial.h.
References bm::bit_in< TDecoder >::bic_decode_u16(), BM_ASSERT, bm::bit_in< TDecoder >::gamma(), bm::decoder::get_16(), bm::decoder_base::get_8(), len, prev(), bm::set_block_arrgap, bm::set_block_arrgap_bienc, bm::set_block_arrgap_bienc_inv, bm::set_block_arrgap_bienc_inv_v2, bm::set_block_arrgap_bienc_v2, bm::set_block_arrgap_egamma, bm::set_block_arrgap_egamma_inv, bm::set_block_arrgap_inv, and bm::set_block_bit_1bit.
|
protectednoexcept |
Try to skip if skip bookmark is available within reach.
Definition at line 3676 of file bmserial.h.
References BM_ASSERT, bm::decoder::get_16(), bm::decoder::get_24(), bm::decoder::get_32(), bm::decoder::get_48(), bm::decoder::get_64(), bm::decoder_base::get_8(), bm::decoder_base::get_pos(), bm::set_nb_sync_mark16, bm::set_nb_sync_mark24, bm::set_nb_sync_mark32, bm::set_nb_sync_mark48, bm::set_nb_sync_mark64, bm::set_nb_sync_mark8, and bm::decoder_base::set_pos().
Referenced by bm::serial_stream_iterator< DEC, BLOCK_IDX >::try_skip().
|
protected |
last bookmark block index
Definition at line 558 of file bmserial.h.
|
protected |
ptr to idx array for temp decode use
Definition at line 555 of file bmserial.h.
Referenced by bm::serial_stream_iterator< DEC, BLOCK_IDX >::serial_stream_iterator().
|
protected |
ptr to super-block idx array (temp)
Definition at line 556 of file bmserial.h.
|
protected |
bookmark to skip 256 encoded blocks
Definition at line 559 of file bmserial.h.
|
protected |
decoder skip position
Definition at line 560 of file bmserial.h.