Data Structures
Here are the data structures with brief descriptions:

bm |
bvector | Bitvector Bit-vector container with runtime compression of bits
statistics | Statistical information about bitset's memory allocation details
reference | Class reference implements an object for bit assignment
iterator_base | Base class for all iterators
bitblock_descr | Bit-block descriptor
dgap_descr | Information about current DGAP block
block_descr |
insert_iterator | Output iterator iterator designed to set "ON" bits based on input sequence of integers (bit indeces)
bulk_insert_iterator | Output iterator iterator designed to set "ON" bits based on input sequence of integers
enumerator | Constant iterator designed to enumerate "ON" bits
counted_enumerator | Constant 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
allocation_policy | Memory allocation policy
bv_statistics | Structure with statistical information about memory allocation footprint, serialization projection, number of vectors
bv_arena_statistics | Structure with statistical information about memory allocation for arena based vectors
pair | Pair type
bit_decode_cache | Bit-decode cache structure
copy_to_array_functor | Adaptor to copy 1 bits to array
all_set | Structure carries pointer on bit block with all bits 1
all_set_block |
d_copy_func | D-Gap copy functor
bitblock_get_adapter | Bit-block get adapter, takes bitblock and represents it as a get_32() accessor function
bitblock_store_adapter | Bit-block store adapter, takes bitblock and saves results into it
bitblock_sum_adapter | Bit-block sum adapter, takes values and sums it /internal
decoder_range_adapter | Adapter to get words from a range stream (see range serialized bit-block)
bit_AND | Bit AND functor
bit_OR | Bit OR functor
bit_SUB | Bit SUB functor
bit_XOR | Bit XOR functor
bit_ASSIGN | Bit ASSIGN functor
bit_COUNT | Bit COUNT functor
bit_COUNT_AND | Bit COUNT AND functor
bit_COUNT_XOR | Bit COUNT XOR functor
bit_COUNT_OR | Bit COUNT OR functor
bit_COUNT_SUB_AB | Bit COUNT SUB AB functor
bit_COUNT_SUB_BA | Bit SUB BA functor
bit_COUNT_A | Bit COUNT A functor
bit_COUNT_B | Bit COUNT B functor
operation_functions |
ptr_payload_t | Helper union to interpret pointer as integers
xor_sim_params | Parameters for XOR similarity search
block_waves_xor_descr | Structure to compute XOR gap-count profile by sub-block waves
block_xor_match_descr | Capture the XOR filter results (xor block against ref.block)
match_pair | XOR match pair
block_match_chain | XOR match chain
bv_ref_vector | List of reference bit-vectors with their true index associations
xor_sim_model | XOR similarity model
xor_scanner | XOR scanner to search for complement-similarities in collections of bit-vectors
miniset | Template class implements memory saving set functionality
bvmini | Mini bit-vector for auxiliary purposes
bvector_mini | Bitvector class with very limited functionality
encoder | Memory encoding
decoder_base | Base class for all decoding functionality
decoder | Class for decoding data from memory buffer
decoder_little_endian | Class for decoding data from memory buffer
bit_out | Byte based writer for un-aligned bit streaming
bit_in | Byte based reader for un-aligned bit streaming
gamma_encoder | Functor for Elias Gamma encoding
gamma_decoder | Elias Gamma decoder
basic_bmatrix | Basic dense bit-matrix class
base_sparse_vector | Base class for bit-transposed(bit-sliced) sparse vector construction
_copyright | Internal structure
DeBruijn_bit_position | DeBruijn majic table
first_bit_table | Structure keeps index of first right 1 bit for every byte
bit_count_table | Structure to aid in counting bits table contains count of bits in 0-255 diapason of numbers
lzcnt_table | Structure for LZCNT constants (4-bit)
tzcnt_table | Structure for TZCNT constants
block_set_table | Structure keeps all-left/right ON bits masks
gap_len_table | Default GAP lengths table
gap_len_table_min | Alternative GAP lengths table. Good for for memory saver mode and very sparse bitsets
gap_len_table_nl | Non-linear size growth GAP lengths table
globals | Internal structure
bo |
sse_empty_guard | SSE2 reinitialization guard class
bit_vistor_copy_functor | Functor for bit-copy (for testing)
rank_compressor | Algorithms for rank compression of bit-vector
distance_metric_descriptor | Distance metric descriptor, holds metric code and result
bit_visitor_callback_adaptor | Functor-adaptor for C-style callbacks
bit_visitor_back_inserter_adaptor | Functor-adaptor for back-inserter
similarity_descriptor |
similarity_batch |
interval_enumerator | Forward iterator class to traverse bit-vector as ranges
task_descr | BitMagic task with a captured function
task_batch_base | Interface definition (base class) for a group of tasks (batch)
task_batch | Basic implementation for collection of tasks for parallel execution
is_lock_noexcept | "noexcept" traits detection for T::lock()
lock_guard | Simple scoped lock guard
pad60_struct | Pad 60 bytes so that the final ocupiles 64 bytes (1 cache line)
pad0_struct | Empty padding
spin_lock | Spin-lock with two-phase acquire (read + cas) padding parameter optionally adds a buffer to avoid CPU cache line contention
thread_pool | Thread pool with custom (thread safe) queue
queue_sync | Thread-sync queue with MT access protecion
thread_pool_executor | Utility class to submit task batch to the running thread pool and optionally wait for it getting done
optimize_plan_builder | Builder class to prepare a batch of tasks for parallel optimization of a sparse vector
task_batch |
compute_sim_matrix_plan_builder | Parallel plan builder for the XOR filter scanner
task_batch |
sv_serialization_plan_builder | Parallel plan builder for succinct sparse vector serialization
serialization_params |
task_batch |
tmatrix | Mini-matrix for bit transposition purposes
rstat | Row characteristics for transposed matrix
bit_grabber |
bit_grabber< unsigned, 32 > |
bit_grabber< unsigned short, 16 > |
bit_grabber< unsigned char, 8 > |
bit_trans_grabber |
gap_transpose_engine | Bit-plane splicing of a GAP block
bit_block_t | Bit-block array wrapped into union for correct interpretation of 32-bit vs 64-bit access vs SIMD
bunion_t |
conditional | Ad-hoc conditional expressions
conditional< false > |
ptr_guard | Mini auto-pointer for internal memory management
and_func | And functor
xor_func | Xor functor
or_func | Or functor
sub_func | Sub functor
agg_run_options | Aggregation options to control execution Default settings are to support only result bit-vector filters
aggregator | Algorithms for fast aggregation of a group of bit-vectors
arg_groups | Aggregator arg groups
pipeline_bcache | Block cache for pipeline execution
run_options | Aggregation options for runtime control
pipeline | Pipeline vector for running a group of aggregation operations on a family of vectors
arena | Temporary operations vectors
serializer | Bit-vector serialization class
bookmark_state | Bookmark state structure
deseriaizer_base | Base deserialization class
deserializer | Deserializer for bit-vector
iterator_deserializer | Iterator to walk forward the serialized stream
serial_stream_iterator | Serialization stream iterator
operation_deserializer | Deserializer, performs logical operations between bit-vector and serialized bit-vector
block_allocator | Default malloc based bitblock allocator class
ptr_allocator | Default malloc based bitblock allocator class
pointer_pool_array | Pool of pointers to buffer cyclic allocations
alloc_pool | Allocation pool object
mem_alloc | BM style allocator adapter
random_subset |
sparse_vector | Succinct sparse vector with runtime compression using bit-slicing / transposition method
statistics |
is_remap_support |
is_rsc_support |
is_dynamic_splices |
reference | Reference class to access elements via common [] operator
const_iterator | Const iterator to traverse the sparse vector
back_insert_iterator | Back insert iterator implements buffered insert, faster than generic access assignment
sv_sample_index | Index for SV sorted vectors for approximate range queries
sparse_vector_scanner | Algorithms for sparse_vector scan/search
pipeline | Pipeline to run multiple searches against a particular SV faster using cache optimizations
set2set_11_transform | Integer set to set transformation (functional image in groups theory) https://en.wikipedia.org/wiki/Image_(mathematics)
gather_buffer |
sparse_vector_serial_layout | Layout class for serialization buffer structure
sparse_vector_serializer |
sparse_vector_deserializer | Sparse vector de-serializer
compressed_collection_serializer | Seriaizer for compressed collections
compressed_collection_deserializer | Deseriaizer for compressed collections
rsc_sparse_vector | Rank-Select compressed sparse vector
is_remap_support |
is_rsc_support |
is_dynamic_splices |
statistics |
reference | Reference class to access elements via common [] operator
const_iterator | Const iterator to traverse the rsc sparse vector
back_insert_iterator | Back insert iterator implements buffered insert, faster than generic access assignment
str_sparse_vector | Succinct sparse vector for strings with compression using bit-slicing ( transposition) method
statistics |
is_remap_support |
is_rsc_support |
is_dynamic_splices |
reference_base |
const_reference | Reference class to access elements via common [] operator
reference | Reference class to access elements via common [] operator
const_iterator | Const iterator to do quick traverse of the sparse vector
back_insert_iterator | Back insert iterator implements buffered insert, faster than generic access assignment
bvps_addr_resolver | Bit-bector prefix sum address resolver using bit-vector prefix sum as a space compactor
sv_addr_resolver | Sparse vector based address resolver (no space compactor, just bit-plane compressors provided by sparse_vector)
compressed_collection | Compressed (sparse collection of objects)
compressed_buffer_collection | Compressed (sparse collection of objects)
statistics | Collection statistics
chrono_taker | Utility class to collect performance measurements and statistics
statistics | Collected statistics
bit_visitor_functor | Visitor calss for bm::for_each_bit() algorithm It is NOT a classic functor (with function call operator() overload) For efficiency it needs to support two methods: add_bits and add_range which corresponds to different internal methods of representation of sets in the bm::bvector<> (bit-stream and D-GAP/RLE representation)
bv_index |
bvs_index |
CKMerAcc | Utility class to accumulate cahnges to cluster before commiting it (mutex syncronous operation)
Counting_JobFunctor | K-mer counting job functor class using bm::aggregator<>
CSeqClusters |
CSeqGroup | Group (clustrer) of sequences
CSequenceColl | Collection of sequences and k-mer fingerprint vectors
data_model | Data frame object, sued to buid succinct data model
dbg_block_allocator |
dbg_ptr_allocator |
DNA_FingerprintScanner | Utility for keeping all DNA finger print vectors and search using various techniques
gap_len_table_sparse |
sample_data_frame | Sample data-frame structure with multiple bm vectors
SortCounting_JobFunctor | Functor to process job batch (task)
sparse_vect_index |
vect_addr |
vect_index |