|
BitMagic-C++
|
Serialization stream iterator. More...
#include <bmserial.h>


Public Types | |
| enum | iterator_state { e_unknown = 0 , e_list_ids , e_blocks , e_zero_blocks , e_one_blocks , e_bit_block , e_gap_block } |
| iterator is a state machine, this enum encodes its key value More... | |
| typedef deseriaizer_base< DEC, BLOCK_IDX >::decoder_type | decoder_type |
| typedef BLOCK_IDX | block_idx_type |
| typedef deseriaizer_base< DEC, block_idx_type > | parent_type |
| typedef unsigned(serial_stream_iterator< DEC, BLOCK_IDX >::* | get_bit_func_type) (bm::word_t *, bm::word_t *) |
| member function pointer for bitset-bitset get operations | |
Public Member Functions | |
| serial_stream_iterator (const unsigned char *buf) | |
| ~serial_stream_iterator () | |
| block_idx_type | bv_size () const |
| serialized bitvector size | |
| bool | is_eof () const |
| Returns true if end of bit-stream reached. | |
| void | next () |
| get next block | |
| block_idx_type | skip_mono_blocks () BMNOEXCEPT |
| skip all zero or all-one blocks | |
| unsigned | get_bit_block (bm::word_t *dst_block, bm::word_t *tmp_block, set_operation op) |
| read bit block, using logical operation | |
| void | get_gap_block (bm::gap_word_t *dst_block) |
| Read gap block data (with head). | |
| unsigned | dec_size () const |
| Return current decoder size. | |
| decoder_type & | decoder () |
| Get low level access to the decoder (use carefully). | |
| iterator_state | state () const BMNOEXCEPT |
| Returns iterator internal state. | |
| iterator_state | get_state () const BMNOEXCEPT |
| unsigned | get_id_count () const BMNOEXCEPT |
| Number of ids in the inverted list (valid for e_list_ids). | |
| bm::id_t | get_id () const BMNOEXCEPT |
| Get last id from the id list. | |
| block_idx_type | block_idx () const BMNOEXCEPT |
| Get current block index. | |
| unsigned | get_bit_block_ASSIGN (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_bit_block_OR (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_bit_block_AND (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_bit_block_SUB (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_bit_block_XOR (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_bit_block_COUNT (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_bit_block_COUNT_AND (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_bit_block_COUNT_OR (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_bit_block_COUNT_XOR (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_bit_block_COUNT_SUB_AB (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_bit_block_COUNT_SUB_BA (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_bit_block_COUNT_A (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_bit_block_COUNT_B (bm::word_t *dst_block, bm::word_t *tmp_block) |
| unsigned | get_arr_bit (bm::word_t *dst_block, bool clear_target=true) BMNOEXCEPT |
| Get array of bits out of the decoder into bit block (Converts inverted list into bits) Returns number of words (bits) being read. | |
| unsigned | get_block_type () const BMNOEXCEPT |
| Get current block type. | |
| unsigned | get_bit () BMNOEXCEPT |
| void | get_inv_arr (bm::word_t *block) BMNOEXCEPT |
| bool | try_skip (block_idx_type nb, block_idx_type expect_nb) BMNOEXCEPT |
| Try to skip if skip bookmark is available within reach. | |
Protected Attributes | |
| get_bit_func_type | bit_func_table_ [bm::set_END] |
| unsigned char | header_flag_ |
| decoder_type | decoder_ |
| bool | end_of_stream_ |
| block_idx_type | bv_size_ |
| iterator_state | state_ |
| unsigned | id_cnt_ |
| Id counter for id list. | |
| bm::id_t | last_id_ |
| Last id from the id list. | |
| gap_word_t | glevels_ [bm::gap_levels] |
| GAP levels. | |
| unsigned | block_type_ |
| current block type | |
| block_idx_type | block_idx_ |
| current block index | |
| block_idx_type | mono_block_cnt_ |
| number of 0 or 1 blocks | |
| gap_word_t | gap_head_ |
| gap_word_t * | block_idx_arr_ |
| Protected Attributes inherited from bm::deseriaizer_base< DEC, BLOCK_IDX > | |
| bm::gap_word_t * | id_array_ |
| ptr to idx array for temp decode use | |
| unsigned * | sb_id_array_ |
| ptr to super-block idx array (temp) | |
| block_idx_type | bookmark_idx_ |
| last bookmark block index | |
| unsigned | skip_offset_ |
| bookmark to skip 256 encoded blocks | |
| const unsigned char * | skip_pos_ |
| decoder skip position | |
Additional Inherited Members | |
| Protected Types inherited from bm::deseriaizer_base< DEC, BLOCK_IDX > | |
| typedef DEC | decoder_type |
| typedef BLOCK_IDX | block_idx_type |
| typedef bm::bit_in< DEC > | bit_in_type |
| Protected Member Functions inherited from bm::deseriaizer_base< DEC, BLOCK_IDX > | |
| 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. | |
| unsigned | read_id_list (decoder_type &decoder, unsigned block_type, bm::gap_word_t *dst_arr) |
| Read list of bit ids. | |
| void | read_bic_arr (decoder_type &decoder, bm::word_t *blk, unsigned block_type) BMNOEXCEPT |
| Read binary interpolated list into a bit-set. | |
| 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. | |
| void | read_bic_gap (decoder_type &decoder, bm::word_t *blk) BMNOEXCEPT |
| Read binary interpolated gap blocks into a bitset. | |
| void | read_bic_arr_inv (decoder_type &decoder, bm::word_t *blk) BMNOEXCEPT |
| Read inverted binary interpolated list into a bit-set. | |
| void | read_digest0_block (decoder_type &decoder, bm::word_t *blk) BMNOEXCEPT |
| Read digest0-type bit-block. | |
| 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. | |
| Static Protected Member Functions inherited from bm::deseriaizer_base< DEC, BLOCK_IDX > | |
| static void | read_0runs_block (decoder_type &decoder, bm::word_t *blk) BMNOEXCEPT |
| read bit-block encoded as runs | |
| static const char * | err_msg () BMNOEXCEPT |
Serialization stream iterator.
Iterates blocks and control tokens of serialized bit-stream
Definition at line 767 of file bmserial.h.
| typedef BLOCK_IDX bm::serial_stream_iterator< DEC, BLOCK_IDX >::block_idx_type |
Definition at line 771 of file bmserial.h.
| typedef deseriaizer_base<DEC,BLOCK_IDX>::decoder_type bm::serial_stream_iterator< DEC, BLOCK_IDX >::decoder_type |
Definition at line 770 of file bmserial.h.
| typedef unsigned(serial_stream_iterator< DEC, BLOCK_IDX >::* bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_func_type) (bm::word_t *, bm::word_t *) |
member function pointer for bitset-bitset get operations
Definition at line 837 of file bmserial.h.
| typedef deseriaizer_base<DEC, block_idx_type> bm::serial_stream_iterator< DEC, BLOCK_IDX >::parent_type |
Definition at line 772 of file bmserial.h.
| enum bm::serial_stream_iterator::iterator_state |
iterator is a state machine, this enum encodes its key value
Definition at line 808 of file bmserial.h.
| bm::serial_stream_iterator< DEC, BLOCK_IDX >::serial_stream_iterator | ( | const unsigned char * | buf | ) |
Definition at line 4747 of file bmserial.h.
References bit_func_table_, block_idx_, block_idx_arr_, BM_ASSERT, bm::BM_HM_64_BIT, bm::BM_HM_ID_LIST, bm::BM_HM_NO_BO, bm::BM_HM_NO_GAPL, bm::BM_HM_RESIZE, bv_size_, decoder_, e_blocks, e_list_ids, e_unknown, end_of_stream_, bm::gap_levels, bm::gap_max_bits, get_bit_block_AND(), get_bit_block_ASSIGN(), get_bit_block_COUNT(), get_bit_block_COUNT_A(), get_bit_block_COUNT_AND(), get_bit_block_COUNT_OR(), get_bit_block_COUNT_SUB_AB(), get_bit_block_COUNT_SUB_BA(), get_bit_block_COUNT_XOR(), get_bit_block_OR(), get_bit_block_SUB(), get_bit_block_XOR(), glevels_, header_flag_, bm::deseriaizer_base< DEC, BLOCK_IDX >::id_array_, id_cnt_, mono_block_cnt_, next(), bm::set_AND, bm::set_ASSIGN, bm::set_COUNT, bm::set_COUNT_A, bm::set_COUNT_AND, bm::set_COUNT_B, bm::set_COUNT_OR, bm::set_COUNT_SUB_AB, bm::set_COUNT_SUB_BA, bm::set_COUNT_XOR, bm::set_OR, bm::set_SUB, bm::set_XOR, and state_.
| bm::serial_stream_iterator< DEC, BLOCK_IDX >::~serial_stream_iterator | ( | ) |
Definition at line 4849 of file bmserial.h.
References block_idx_arr_.
|
inline |
Get current block index.
Definition at line 831 of file bmserial.h.
|
inline |
serialized bitvector size
Definition at line 779 of file bmserial.h.
|
inline |
Return current decoder size.
Definition at line 800 of file bmserial.h.
|
inline |
Get low level access to the decoder (use carefully).
Definition at line 803 of file bmserial.h.
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_arr_bit | ( | bm::word_t * | dst_block, |
| bool | clear_target = true ) |
Get array of bits out of the decoder into bit block (Converts inverted list into bits) Returns number of words (bits) being read.
Definition at line 6287 of file bmserial.h.
References bm::bit_block_set(), block_type_, BM_ASSERT, BMNOEXCEPT, decoder_, bm::set_bit(), bm::set_block_arrbit, and bm::set_block_bit_1bit.
Referenced by get_bit_block_AND(), get_bit_block_ASSIGN(), get_bit_block_COUNT(), get_bit_block_COUNT_A(), get_bit_block_COUNT_AND(), get_bit_block_COUNT_OR(), get_bit_block_COUNT_SUB_AB(), get_bit_block_COUNT_SUB_BA(), get_bit_block_COUNT_XOR(), get_bit_block_OR(), get_bit_block_SUB(), and get_bit_block_XOR().
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit | ( | ) |
Definition at line 6325 of file bmserial.h.
References block_idx_, block_type_, BM_ASSERT, BMNOEXCEPT, decoder_, e_blocks, bm::set_block_bit_1bit, and state_.
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block, | ||
| set_operation | op ) |
read bit block, using logical operation
Definition at line 6354 of file bmserial.h.
References bit_func_table_, block_idx_, BM_ASSERT, e_bit_block, e_blocks, and state_.
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_AND | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block ) |
Definition at line 5305 of file bmserial.h.
References bm::bit_block_and(), bm::bit_block_set(), block_type_, BM_ASSERT, BMRESTRICT, decoder_, e_bit_block, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), get_arr_bit(), get_inv_arr(), IS_VALID_ADDR, bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block(), bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_size, and state_.
Referenced by serial_stream_iterator().
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_ASSIGN | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block ) |
Definition at line 5129 of file bmserial.h.
References bm::bit_block_copy(), bm::bit_block_set(), block_type_, BM_ASSERT, decoder_, e_bit_block, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), get_arr_bit(), get_inv_arr(), IS_VALID_ADDR, bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block(), bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_gapbit, bm::set_block_size, and state_.
Referenced by serial_stream_iterator().
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block ) |
Definition at line 5629 of file bmserial.h.
References bm::bit_block_count(), bm::bit_block_set(), block_type_, BM_ASSERT, decoder_, e_bit_block, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), get_arr_bit(), get_inv_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block(), bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_size, state_, and bm::word_bitcount().
Referenced by serial_stream_iterator().
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_A | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block ) |
Definition at line 5714 of file bmserial.h.
References bm::bit_block_count(), block_type_, BM_ASSERT, decoder_, e_bit_block, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), get_arr_bit(), get_inv_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block(), bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_size, and state_.
Referenced by serial_stream_iterator().
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_AND | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block ) |
Definition at line 5798 of file bmserial.h.
References bm::bit_block_set(), bm::bit_operation_and_count(), block_type_, BM_ASSERT, decoder_, e_bit_block, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), get_arr_bit(), get_inv_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block(), bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_size, state_, and bm::word_bitcount().
Referenced by serial_stream_iterator().
|
inline |
Definition at line 865 of file bmserial.h.
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_OR | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block ) |
Definition at line 5884 of file bmserial.h.
References bm::bit_block_set(), bm::bit_operation_or_count(), bm::bit_recomb(), block_type_, BM_ASSERT, decoder_, e_bit_block, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), get_arr_bit(), get_inv_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block(), bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_size, state_, bm::bitblock_sum_adapter::sum(), and bm::word_bitcount().
Referenced by serial_stream_iterator().
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_SUB_AB | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block ) |
Definition at line 6089 of file bmserial.h.
References bm::bit_block_set(), bm::bit_operation_sub_count(), bm::bit_recomb(), block_type_, BM_ASSERT, decoder_, e_bit_block, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), get_arr_bit(), get_inv_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block(), bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_size, state_, bm::bitblock_sum_adapter::sum(), and bm::word_bitcount().
Referenced by serial_stream_iterator().
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_SUB_BA | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block ) |
Definition at line 6192 of file bmserial.h.
References bm::bit_block_set(), bm::bit_operation_sub_count(), bm::bit_recomb(), block_type_, BM_ASSERT, decoder_, e_bit_block, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), get_arr_bit(), get_inv_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block(), bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_size, state_, bm::bitblock_sum_adapter::sum(), and bm::word_bitcount().
Referenced by serial_stream_iterator().
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_XOR | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block ) |
Definition at line 5986 of file bmserial.h.
References bm::bit_block_set(), bm::bit_operation_xor_count(), bm::bit_recomb(), block_type_, BM_ASSERT, decoder_, e_bit_block, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), get_arr_bit(), get_inv_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block(), bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_size, state_, bm::bitblock_sum_adapter::sum(), and bm::word_bitcount().
Referenced by serial_stream_iterator().
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_OR | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block ) |
Definition at line 5229 of file bmserial.h.
References bm::bit_block_or(), block_type_, BM_ASSERT, decoder_, e_bit_block, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), get_arr_bit(), get_inv_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block(), bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_size, and state_.
Referenced by serial_stream_iterator().
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_SUB | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block ) |
Definition at line 5525 of file bmserial.h.
References bm::bit_block_set(), bm::bit_block_sub(), block_type_, BM_ASSERT, decoder_, e_bit_block, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), get_arr_bit(), get_inv_arr(), IS_VALID_ADDR, bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block(), bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_size, and state_.
Referenced by serial_stream_iterator().
| unsigned bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_XOR | ( | bm::word_t * | dst_block, |
| bm::word_t * | tmp_block ) |
Definition at line 5419 of file bmserial.h.
References bm::bit_block_set(), bm::bit_block_xor(), block_type_, BM_ASSERT, decoder_, e_bit_block, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), get_arr_bit(), get_inv_arr(), IS_VALID_ADDR, bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_arr_inv(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_bic_gap(), bm::deseriaizer_base< DEC, BLOCK_IDX >::read_digest0_block(), bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_size, and state_.
Referenced by serial_stream_iterator().
|
inline |
Get current block type.
Definition at line 877 of file bmserial.h.
| void bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_gap_block | ( | bm::gap_word_t * | dst_block | ) |
Read gap block data (with head).
Definition at line 6336 of file bmserial.h.
References block_idx_, block_type_, BM_ASSERT, decoder_, e_blocks, e_gap_block, gap_head_, bm::deseriaizer_base< DEC, BLOCK_IDX >::read_gap_block(), bm::set_block_bit_1bit, and state_.
|
inline |
Get last id from the id list.
Definition at line 828 of file bmserial.h.
|
inline |
Number of ids in the inverted list (valid for e_list_ids).
Definition at line 825 of file bmserial.h.
| void bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_inv_arr | ( | bm::word_t * | block | ) |
Definition at line 5107 of file bmserial.h.
References bm::bit_block_set(), BMNOEXCEPT, bm::clear_bit(), and decoder_.
Referenced by get_bit_block_AND(), get_bit_block_ASSIGN(), get_bit_block_COUNT(), get_bit_block_COUNT_A(), get_bit_block_COUNT_AND(), get_bit_block_COUNT_OR(), get_bit_block_COUNT_SUB_AB(), get_bit_block_COUNT_SUB_BA(), get_bit_block_COUNT_XOR(), get_bit_block_OR(), get_bit_block_SUB(), and get_bit_block_XOR().
|
inline |
Definition at line 823 of file bmserial.h.
|
inline |
Returns true if end of bit-stream reached.
Definition at line 782 of file bmserial.h.
Referenced by next().
| void bm::serial_stream_iterator< DEC, BLOCK_IDX >::next | ( | ) |
get next block
Definition at line 4857 of file bmserial.h.
References block_idx_, block_type_, BM_ASSERT, BM_FALLTHROUGH, bm::deseriaizer_base< DEC, BLOCK_IDX >::bookmark_idx_, decoder_, e_bit_block, e_blocks, e_gap_block, e_list_ids, e_one_blocks, e_unknown, e_zero_blocks, end_of_stream_, bm::deseriaizer_base< DEC, BLOCK_IDX >::err_msg(), gap_head_, id_cnt_, is_eof(), last_id_, mono_block_cnt_, 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_64one, bm::set_block_8one, bm::set_block_8zero, bm::set_block_aone, bm::set_block_arr_bienc, bm::set_block_arr_bienc_8bh, bm::set_block_arr_bienc_inv, bm::set_block_arrbit, bm::set_block_arrbit_inv, 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_azero, bm::set_block_bit, bm::set_block_bit_0runs, bm::set_block_bit_1bit, bm::set_block_bit_digest0, bm::set_block_bit_interval, bm::set_block_bitgap_bienc, bm::set_block_end, bm::set_block_gap, bm::set_block_gap_bienc, bm::set_block_gap_bienc_v2, bm::set_block_gap_egamma, bm::set_block_gapbit, bm::set_block_ref_eq, bm::set_block_xor_ref16, bm::set_block_xor_ref16_um, bm::set_block_xor_ref32, bm::set_block_xor_ref32_um, bm::set_block_xor_ref8, bm::set_block_xor_ref8_um, bm::set_nb_bookmark16, bm::set_nb_bookmark24, bm::set_nb_bookmark32, 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, bm::set_sblock_bienc, bm::set_total_blocks, bm::deseriaizer_base< DEC, BLOCK_IDX >::skip_offset_, bm::deseriaizer_base< DEC, BLOCK_IDX >::skip_pos_, and state_.
Referenced by serial_stream_iterator().
| serial_stream_iterator< DEC, BLOCK_IDX >::block_idx_type bm::serial_stream_iterator< DEC, BLOCK_IDX >::skip_mono_blocks | ( | ) |
skip all zero or all-one blocks
Definition at line 5091 of file bmserial.h.
References block_idx_, BM_ASSERT, BMNOEXCEPT, e_blocks, e_one_blocks, e_zero_blocks, mono_block_cnt_, and state_.
|
inline |
Returns iterator internal state.
Definition at line 821 of file bmserial.h.
|
inline |
Try to skip if skip bookmark is available within reach.
Definition at line 886 of file bmserial.h.
|
protected |
Definition at line 897 of file bmserial.h.
Referenced by get_bit_block(), and serial_stream_iterator().
|
protected |
current block index
Definition at line 910 of file bmserial.h.
Referenced by get_bit(), get_bit_block(), get_gap_block(), next(), serial_stream_iterator(), and skip_mono_blocks().
|
protected |
Definition at line 914 of file bmserial.h.
Referenced by serial_stream_iterator(), and ~serial_stream_iterator().
|
protected |
current block type
Definition at line 909 of file bmserial.h.
Referenced by get_arr_bit(), get_bit(), get_bit_block_AND(), get_bit_block_ASSIGN(), get_bit_block_COUNT(), get_bit_block_COUNT_A(), get_bit_block_COUNT_AND(), get_bit_block_COUNT_OR(), get_bit_block_COUNT_SUB_AB(), get_bit_block_COUNT_SUB_BA(), get_bit_block_COUNT_XOR(), get_bit_block_OR(), get_bit_block_SUB(), get_bit_block_XOR(), get_gap_block(), and next().
|
protected |
Definition at line 903 of file bmserial.h.
Referenced by serial_stream_iterator().
|
protected |
Definition at line 901 of file bmserial.h.
Referenced by get_arr_bit(), get_bit(), get_bit_block_AND(), get_bit_block_ASSIGN(), get_bit_block_COUNT(), get_bit_block_COUNT_A(), get_bit_block_COUNT_AND(), get_bit_block_COUNT_OR(), get_bit_block_COUNT_SUB_AB(), get_bit_block_COUNT_SUB_BA(), get_bit_block_COUNT_XOR(), get_bit_block_OR(), get_bit_block_SUB(), get_bit_block_XOR(), get_gap_block(), get_inv_arr(), next(), and serial_stream_iterator().
|
protected |
Definition at line 902 of file bmserial.h.
Referenced by next(), and serial_stream_iterator().
|
protected |
Definition at line 913 of file bmserial.h.
Referenced by get_gap_block(), and next().
|
protected |
|
protected |
Definition at line 899 of file bmserial.h.
Referenced by serial_stream_iterator().
|
protected |
Id counter for id list.
Definition at line 905 of file bmserial.h.
Referenced by next(), and serial_stream_iterator().
|
protected |
|
protected |
number of 0 or 1 blocks
Definition at line 911 of file bmserial.h.
Referenced by next(), serial_stream_iterator(), and skip_mono_blocks().
|
protected |
Definition at line 904 of file bmserial.h.
Referenced by get_bit(), get_bit_block(), get_bit_block_AND(), get_bit_block_ASSIGN(), get_bit_block_COUNT(), get_bit_block_COUNT_A(), get_bit_block_COUNT_AND(), get_bit_block_COUNT_OR(), get_bit_block_COUNT_SUB_AB(), get_bit_block_COUNT_SUB_BA(), get_bit_block_COUNT_XOR(), get_bit_block_OR(), get_bit_block_SUB(), get_bit_block_XOR(), get_gap_block(), next(), serial_stream_iterator(), and skip_mono_blocks().