# Data Structures

Here are the data structures with brief descriptions:

bm::_copyright< T > | Internal structure
bm::all_set< T > | Structure carries pointer on bit block with all bits 1
bm::all_set< T >::all_set_block |
bm::bit_AND< W > | Bit AND functor
bm::bit_ASSIGN< W > | Bit ASSIGN functor
bm::bit_COUNT< W > | Bit COUNT functor
bm::bit_COUNT_A< W > | Bit COUNT A functor
bm::bit_COUNT_AND< W > | Bit COUNT AND functor
bm::bit_COUNT_B< W > | Bit COUNT B functor
bm::bit_COUNT_OR< W > | Bit COUNT OR functor
bm::bit_COUNT_SUB_AB< W > | Bit COUNT SUB AB functor
bm::bit_COUNT_SUB_BA< W > | Bit SUB BA functor
bm::bit_count_table< T > | Structure to aid in counting bits table contains count of bits in 0-255 diapason of numbers
bm::bit_COUNT_XOR< W > | Bit COUNT XOR functor
bm::bit_grabber< T, BPC > |
bm::bit_grabber< unsigned char, 8 > |
bm::bit_grabber< unsigned short, 16 > |
bm::bit_grabber< unsigned, 32 > |
bm::bit_in< TDecoder > | Byte based reader for un-aligned bit streaming
bm::bit_OR< W > | Bit OR functor
bm::bit_out< TEncoder > | Byte based writer for un-aligned bit streaming
bm::bit_SUB< W > | Bit SUB functor
bm::bit_trans_grabber< T, BPC, BPS > |
bm::bit_XOR< W > | Bit XOR functor
bm::bvector< Alloc >::iterator_base::bitblock_descr | Information about current bitblock
bm::bitblock_get_adapter | Bit-block get adapter, takes bitblock and represents it as a get_32() accessor function /internal
bm::bitblock_store_adapter | Bit-block store adapter, takes bitblock and saves results into it /internal
bm::bitblock_sum_adapter | Bit-block sum adapter, takes values and sums it /internal
bm::block_allocator | Default malloc based bitblock allocator class
bm::bvector< Alloc >::iterator_base::block_descr |
bm::block_set_table< T > | Structure keeps all-left/right ON bits masks
bm::globals< T >::bo |
bm::bv_statistics | Structure with statistical information about bitset's memory allocation details
bm::bvector< Alloc > | Bitvector with runtime compression of bits
bm::bvector_mini< A > | Bitvector class with very limited functionality
bm::bvmini< N > | Mini bitvector used in bvector template to keep block type flags
bm::copy_to_array_functor< B > | Adaptor to copy 1 bits to array
bm::copy_to_array_functor_inc< B > | Adaptor to copy 1 bits to array with base increment
bm::bvector< Alloc >::counted_enumerator | Constant input iterator designed to enumerate "ON" bits counted_enumerator keeps bitcount, ie number of ON bits starting from the position 0 in the bit string up to the currently enumerated bit
bm::d_copy_func< T > | D-Gap copy functor
dbg_block_allocator |
dbg_ptr_allocator |
bm::DeBruijn_bit_position< T > |
bm::decoder | Class for decoding data from memory buffer
bm::decoder_base | Base class for all decoding functionality
bm::decoder_little_endian | Class for decoding data from memory buffer
bm::decoder_range_adapter< DEC > | Adapter to get words from a range stream (see range serialized bit-block)
bm::deseriaizer_base< DEC > | Base deserialization class
bm::deserializer< BV, DEC > | Class deserializer
bm::bvector< Alloc >::iterator_base::dgap_descr | Information about current DGAP block
bm::distance_metric_descriptor | Distance metric descriptor, holds metric code and result
bm::encoder | Memory encoding
bm::bvector< Alloc >::enumerator | Constant input iterator designed to enumerate "ON" bits
bm::first_bit_table< T > | Structure keeps index of first right 1 bit for every byte
bm::gamma_decoder< T, TBitIO > | Elias Gamma decoder
bm::gamma_encoder< T, TBitIO > | Functor for Elias Gamma encoding
bm::gap_len_table< T > | Default GAP lengths table
bm::gap_len_table_min< T > | Alternative GAP lengths table. Good for for memory saver mode and very sparse bitsets
bm::gap_transpose_engine< GT, BT, BLOCK_SIZE > | Bit-plain splicing of a GAP block
bm::globals< T > | Internal structure
bm::bvector< Alloc >::insert_iterator | Output iterator iterator designed to set "ON" bits based on input sequence of integers (bit indeces)
bm::bvector< Alloc >::iterator_base | Base class for all iterators
bm::iterator_deserializer< BV, SerialIterator > | Iterator to walk forward the serialized stream
bm::mem_alloc< BA, PA > | BM style allocator adapter
bm::miniset< A, N > | Template class implements memory saving set functionality
bm::operation_deserializer< BV > | Class deserializer, can perform logical operation on bit-vector and serialized bit-vector
bm::operation_functions< T > |
bm::ptr_allocator | Default malloc based bitblock allocator class
bm::ptr_guard< T > | Mini auto-pointer for internal memory management
bm::random_subset< BV > |
bm::bvector< Alloc >::reference | Class reference implements an object for bit assignment
bm::tmatrix< T, ROWS, COLS >::rstat | Row characteristics for transposed matrix
bm::serial_stream_iterator< DEC > | Serialization stream iterator
bm::serializer< BV > | Bit-vector serialization class
bm::sse_empty_guard | SSE2 reinitialization guard class
bm::bvector< Alloc >::statistics | Statistical information about bitset's memory allocation details
bm::tmatrix< T, ROWS, COLS > | Mini-matrix for bit transposition purposes