Search Toolkit Book for bm::basic_bmatrix
Basic dense bit-matrix class. More...
#include <util/bitset/bmbmatrix.h>
Basic dense bit-matrix class.
Container of row-major bit-vectors, forming a bit-matrix. This class uses dense form of row storage. It is applicable as a build block for other sparse containers and succinct data structures, implementing high level abstractions.
Definition at line 54 of file bmbmatrix.h.
◆ allocation_policy_type ◆ allocator_pool_type ◆ allocator_type ◆ block_idx_type ◆ bvector_type ◆ bvector_type_const_ptr ◆ bvector_type_ptr ◆ octet_type ◆ remap_matrix_typeunused remap matrix type for compatibility with the sparse serializer
Definition at line 84 of file bmbmatrix.h.
◆ size_type ◆ statistics ◆ value_type ◆ vector_cap Enumerator max_vector_size sv_value_slicesDefinition at line 409 of file bmbmatrix.h.
◆ basic_bmatrix() [1/3] ◆ ~basic_bmatrix() ◆ basic_bmatrix() [2/3] ◆ basic_bmatrix() [3/3] ◆ allocate_rows() ◆ bit_and_rows() ◆ bit_sub_rows() ◆ build_plane_digest()Construct digest vector of 1s for every row in the matrix.
Definition at line 1814 of file bmbmatrix.h.
References i.
◆ calc_effective_rows_not_null()get number of assigned avlue rows without \ NULLs bvector
Definition at line 1168 of file bmbmatrix.h.
References i.
◆ calc_stat() [1/2] ◆ calc_stat() [2/2]template<typename BV >
void bm::basic_bmatrix< BV >::calc_stat ( typename bvector_type::statistics * st ) const inlinenoexceptCompute memory statistics
Definition at line 314 of file bmbmatrix.h.
◆ clear()resize to zero, free memory
Definition at line 263 of file bmbmatrix.h.
◆ clear_all() ◆ clear_column()Clear value (set 0) into a range of rows
Definition at line 996 of file bmbmatrix.h.
References i.
◆ clear_row() ◆ clear_slices_range()Clear bit-planes bit.
Definition at line 1372 of file bmbmatrix.h.
◆ compare_octet()Compare vector[pos] with octet
It uses regulat comparison of chars to comply with the (signed) char sort order.
Definition at line 1637 of file bmbmatrix.h.
References rapidjson::value.
◆ construct_bvector() ◆ construct_row() [1/2] ◆ construct_row() [2/2] ◆ copy_from() ◆ destruct_bvector() ◆ destruct_row() ◆ equal()check if two bit-matrices are equal
Definition at line 1061 of file bmbmatrix.h.
References eq().
◆ erase_column()Erase column/element
Definition at line 973 of file bmbmatrix.h.
References i.
◆ free_rows() ◆ freeze() ◆ get_allocator_pool() ◆ get_block()Get low level internal access to.
Definition at line 1361 of file bmbmatrix.h.
◆ get_bmatrix() [1/2]return *this (for serializer compat)
Definition at line 433 of file bmbmatrix.h.
◆ get_bmatrix() [2/2]return *this (for serializer compat)
Definition at line 436 of file bmbmatrix.h.
◆ get_create_slice() ◆ get_half_octet()Definition at line 1676 of file bmbmatrix.h.
References BM_IS_GAP, BMGAP_PTR, FULL_BLOCK_FAKE_ADDR, bm::gap_test_unr(), bm::get_block_coord(), i, bm::set_block_mask, bm::set_block_shift, bm::set_word_mask, bm::set_word_shift, bm::test_4bits(), and bm::test_4gaps().
◆ get_null_bvector()always return 0 as basic matrix does not support the notion of NULL plane (as sparse_vectors do)
Definition at line 447 of file bmbmatrix.h.
◆ get_null_idx()return index of the NULL vector
Definition at line 187 of file bmbmatrix.h.
Referenced by bm::base_sparse_vector< Val, BV, MAX_SIZE >::copy_from(), bm::base_sparse_vector< Val, BV, 1 >::get_null_bvect(), bm::base_sparse_vector< Val, BV, 1 >::get_null_bvector(), bm::basic_bmatrix< bm::bvector<> >::is_nullable(), bm::sparse_vector< Val, BV >::join_null_slice(), and bm::base_sparse_vector< Val, BV, MAX_SIZE >::merge_matr().
◆ get_octet()return octet from the matrix
Definition at line 1487 of file bmbmatrix.h.
References BM_IS_GAP, BMGAP_PTR, bm::check_any_fullb(), FULL_BLOCK_FAKE_ADDR, bm::gap_test_unr(), bm::get_block_coord(), bm::set_block_mask, bm::set_block_shift, bm::set_word_mask, and bm::set_word_shift.
Referenced by bm::str_sparse_vector< CharType, BV, STR_SIZE >::get(), and TestBasicMatrix().
◆ get_remap_buffer() ◆ get_remap_matrix() [1/2] ◆ get_remap_matrix() [2/2] ◆ get_row() [1/2]Get row bit-vector. Can return NULL
Definition at line 914 of file bmbmatrix.h.
Referenced by bm::str_sparse_vector< CharType, BV, STR_SIZE >::decode_substr(), bm::base_sparse_vector< Val, BV, 1 >::get_null_bvect(), bm::base_sparse_vector< Val, BV, 1 >::get_null_bvector(), bm::basic_bmatrix< bm::bvector<> >::get_null_bvector(), bm::base_sparse_vector< Val, BV, MAX_SIZE >::merge_matr(), and bm::base_sparse_vector< Val, BV, 1 >::slice().
◆ get_row() [2/2] ◆ init_remap_buffer() ◆ insert_column()Insert value 0 into a range of rows
Definition at line 985 of file bmbmatrix.h.
References i.
◆ insert_octet()Bit-transpose and insert an octet and assign it to a bit-matrix
Definition at line 1424 of file bmbmatrix.h.
References BM_ASSERT, and row.
◆ is_compressed()template<typename BV >
inlinestaticconstexprnoexceptDefinition at line 396 of file bmbmatrix.h.
◆ is_dynamic() ◆ is_nullable() ◆ is_remap()various type traits
trait to identify that class does not support any remappings
Definition at line 393 of file bmbmatrix.h.
◆ is_ro() ◆ is_same_structure()Debugging function to check if two matrixes have the same rows created.
Definition at line 1128 of file bmbmatrix.h.
◆ is_str()template<typename BV >
inlinestaticconstexprnoexceptDefinition at line 399 of file bmbmatrix.h.
◆ mark_null_idx() ◆ octet_size()Return number of octet currently allocated rows in the matrix
Definition at line 1100 of file bmbmatrix.h.
◆ operator=() [1/2] ◆ operator=() [2/2] ◆ optimize()template<typename BV >
void bm::basic_bmatrix< BV >::optimize ( bm::word_t * temp_block =0
, typename bvector_type::optmode opt_mode = bvector_type::opt_compress
, typename bvector_type::statistics * stat = 0
)
run memory optimization for all bit-vector rows
Definition at line 1739 of file bmbmatrix.h.
References BM_DECLARE_TEMP_BLOCK, and st().
Referenced by TestBasicMatrix().
◆ optimize_block() ◆ remap_size() ◆ resize_internal() ◆ resolve_range()Nominal function for serializer compatibility.
Definition at line 458 of file bmbmatrix.h.
◆ row()Get row bit-vector. Can return NULL
Definition at line 904 of file bmbmatrix.h.
Referenced by bm::base_sparse_vector< Val, BV, MAX_SIZE >::copy_from(), bm::base_sparse_vector< Val, BV, MAX_SIZE >::copy_range_slices(), bm::base_sparse_vector< Val, BV, 1 >::get_slice(), and bm::sparse_vector< Val, BV >::join().
◆ rows()get number of value rows
Definition at line 163 of file bmbmatrix.h.
Referenced by bm::basic_bmatrix< bm::bvector<> >::calc_stat(), bm::base_sparse_vector< Val, BV, MAX_SIZE >::copy_from(), bm::base_sparse_vector< Val, BV, MAX_SIZE >::copy_range_slices(), bm::sparse_vector< Val, BV >::join(), bm::base_sparse_vector< Val, BV, MAX_SIZE >::merge_matr(), bm::str_sparse_vector< CharType, BV, STR_SIZE >::remap_from_impl(), and TestBasicMatrix().
◆ rows_not_null() ◆ set_allocator_pool() ◆ set_null_idx() ◆ set_octet() ◆ set_remap() ◆ set_ro_flag() ◆ size() ◆ size_internal() ◆ stored_slices()template<typename BV >
inlinestaticprotectednoexceptDefinition at line 452 of file bmbmatrix.h.
◆ swap() ◆ swap_columns() ◆ sync()syncronize internal structures, build fast access index
Definition at line 380 of file bmbmatrix.h.
◆ throw_bad_alloc() ◆ base_sparse_vectortemplate<typename BV >
template<typename Val , typename BVect , unsigned MAX_SIZE>
Definition at line 422 of file bmbmatrix.h.
◆ rsc_sparse_vectortemplate<typename BV >
template<class Val , class SV >
Definition at line 426 of file bmbmatrix.h.
◆ sparse_vector_deserializertemplate<typename BV >
template<class SVect >
Definition at line 425 of file bmbmatrix.h.
◆ sparse_vector_serializertemplate<typename BV >
template<class SVect >
Definition at line 424 of file bmbmatrix.h.
◆ alloc_ ◆ ap_ ◆ bv_rows_ ◆ bv_size_ ◆ is_dynamic_ ◆ is_ro_ ◆ null_idx_ ◆ pool_ ◆ rsize_The documentation for this class was generated from the following file:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4