BitMagic-C++
Macros
bmdef.h File Reference

Definitions(internal) More...

#include <climits>
#include <cassert>
Include dependency graph for bmdef.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BM_x86
 
#define BMNOEXCEPT   noexcept
 
#define BMNOEXCEPT2
 
#define BMNOEXCEPT2
 
#define BM_ASSERT   assert
 
#define FULL_BLOCK_REAL_ADDR   bm::all_set<true>::_block._p
 
#define FULL_BLOCK_FAKE_ADDR   bm::all_set<true>::_block._p_fullp
 
#define FULL_SUB_BLOCK_REAL_ADDR   bm::all_set<true>::_block._s
 
#define BLOCK_ADDR_SAN(addr)   (addr == FULL_BLOCK_FAKE_ADDR) ? FULL_BLOCK_REAL_ADDR : addr
 
#define IS_VALID_ADDR(addr)   bm::all_set<true>::is_valid_block_addr(addr)
 
#define IS_FULL_BLOCK(addr)   bm::all_set<true>::is_full_block(addr)
 
#define IS_EMPTY_BLOCK(addr)   bool(addr == 0)
 
#define BM_BLOCK_TYPE(addr)   bm::all_set<true>::block_type(addr)
 
#define BMPTR_SETBIT0(ptr)   ( ((bm::id64_t)ptr) | 1 )
 
#define BMPTR_CLEARBIT0(ptr)   ( ((bm::id64_t)ptr) & ~(bm::id64_t)1 )
 
#define BMPTR_TESTBIT0(ptr)   ( ((bm::id64_t)ptr) & 1 )
 
#define BMGAP_PTR(ptr)   ((bm::gap_word_t*)BMPTR_CLEARBIT0(ptr))
 
#define BMSET_PTRGAP(ptr)   ptr = (bm::word_t*)BMPTR_SETBIT0(ptr)
 
#define BM_IS_GAP(ptr)   bool(BMPTR_TESTBIT0(ptr)!=0)
 
#define BMRESTRICT
 
#define BMFORCEINLINE   inline
 
#define BM64_SSE4
 
#define BM_SET_MMX_GUARD
 
#define BM_ALIGN16
 
#define BM_ALIGN16ATTR   __attribute__((aligned(16)))
 
#define BM_ALIGN32
 
#define BM_ALIGN32ATTR   __attribute__((aligned(32)))
 
#define BM_ALIGN64
 
#define BM_ALIGN64ATTR   __attribute__((aligned(64)))
 
#define BM_VECT_ALIGN   BM_ALIGN32
 
#define BM_VECT_ALIGN_ATTR   BM_ALIGN32ATTR
 
#define BM_INCWORD_BITCOUNT(cnt, w)   cnt += unsigned(_mm_popcnt_u32(w));
 
#define BM_ASSERT_THROW(x, xerrcode)
 
#define __has_cpp_attribute(x)   0
 
#define __has_attribute(x)   0
 
#define BM_FALLTHROUGH
 

Detailed Description

Definitions(internal)

Definition in file bmdef.h.

Macro Definition Documentation

◆ __has_attribute

#define __has_attribute (   x)    0

Definition at line 415 of file bmdef.h.

◆ __has_cpp_attribute

#define __has_cpp_attribute (   x)    0

Definition at line 412 of file bmdef.h.

◆ BLOCK_ADDR_SAN

#define BLOCK_ADDR_SAN (   addr)    (addr == FULL_BLOCK_FAKE_ADDR) ? FULL_BLOCK_REAL_ADDR : addr

◆ BM64_SSE4

#define BM64_SSE4

Definition at line 221 of file bmdef.h.

◆ BM_ALIGN16

#define BM_ALIGN16

◆ BM_ALIGN16ATTR

#define BM_ALIGN16ATTR   __attribute__((aligned(16)))

◆ BM_ALIGN32

#define BM_ALIGN32

◆ BM_ALIGN32ATTR

#define BM_ALIGN32ATTR   __attribute__((aligned(32)))

◆ BM_ALIGN64

#define BM_ALIGN64

Definition at line 292 of file bmdef.h.

◆ BM_ALIGN64ATTR

#define BM_ALIGN64ATTR   __attribute__((aligned(64)))

Definition at line 293 of file bmdef.h.

◆ BM_ASSERT

#define BM_ASSERT   assert

Definition at line 136 of file bmdef.h.

Referenced by bm::aggregator< bvector_type >::add(), bm::rsc_sparse_vector< Val, SV >::back_insert_iterator::add(), bm::bv_ref_vector< BV >::add(), bm::bit_vistor_copy_functor< BV >::add_bits(), bm::bv_statistics::add_gap_block(), bm::serializer< bvector_type >::add_model(), bm::rsc_sparse_vector< Val, SV >::back_insert_iterator::add_null(), bm::sparse_vector< Val, BV >::back_insert_iterator::add_null(), bm::bit_vistor_copy_functor< BV >::add_range(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::back_insert_iterator::add_value(), bm::sparse_vector< Val, BV >::back_insert_iterator::add_value_no_null(), bm::interval_enumerator< BV >::advance(), bm::mem_alloc< BA, PA, APool >::alloc_gap_block(), bm::mem_alloc< BA, PA, APool >::alloc_ptr(), bm::basic_bmatrix< bvector_type >::allocate_rows(), bm::bvector<>::any_range(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::assign(), bm::bvector< Alloc >::mem_pool_guard::assign_if_not_set(), bm::avx2_bit_find_first(), bm::avx2_bit_find_first_diff(), bm::avx2_bit_to_gap(), bm::avx2_gap_bfind(), bm::avx2_shift_r1_and(), bm::sparse_vector< Val, BV >::back_insert_iterator::back_insert_iterator(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::back_insert_iterator::back_insert_iterator(), bm::sparse_vector_scanner< SV >::bfind_eq_str(), bm::bit_in< TDecoder >::bic_decode_u16_cm(), bm::bit_in< TDecoder >::bic_decode_u16_cm_bitset(), bm::bit_in< TDecoder >::bic_decode_u16_cm_dry(), bm::bit_in< TDecoder >::bic_decode_u16_rg(), bm::bit_in< TDecoder >::bic_decode_u16_rg_bitset(), bm::bit_in< TDecoder >::bic_decode_u16_rg_dry(), bm::bit_in< TDecoder >::bic_decode_u32_cm(), bm::bit_out< TEncoder >::bic_encode_u16_cm(), bm::bit_out< TEncoder >::bic_encode_u16_rg(), bm::bit_out< TEncoder >::bic_encode_u32_cm(), bm::serializer< bvector_type >::bienc_arr_sblock(), bm::serializer< bvector_type >::bienc_gap_bit_block(), bm::sparse_vector_scanner< SV >::bind(), bm::bit_block_and(), bm::bit_block_and_2way(), bm::bit_block_and_5way(), bm::bit_block_any_range(), bm::bit_block_calc_count_range(), bm::bit_block_calc_count_to(), bm::bit_block_change_bc(), bm::bit_block_count(), bm::bit_block_erase(), bm::bit_block_find(), bm::bit_block_find_interval_end(), bm::bit_block_find_interval_start(), bm::bit_block_find_prev(), bm::bit_block_gather_scatter(), bm::bit_block_insert(), bm::bit_block_is_all_one_range(), bm::bit_block_shift_l1(), bm::bit_block_shift_l1_unr(), bm::bit_block_shift_r1(), bm::bit_block_shift_r1_and(), bm::bit_block_shift_r1_and_unr(), bm::bit_block_shift_r1_unr(), bm::bit_block_sub(), bm::bit_block_sub_2way(), bm::bit_block_to_gap(), bm::bit_block_xor(), bm::bit_block_xor_change32(), bm::bit_count_min_unroll(), bm::bit_count_nonzero_size(), bm::bit_find_first(), bm::bit_find_first_diff(), bm::bit_find_first_if_1(), bm::bit_find_last(), bm::bit_find_rank(), bm::bit_for_each_4(), bm::bit_iblock_make_pcv(), bm::bit_iblock_pcv_stat(), bm::bit_iblock_reduce(), bm::bit_invert(), bm::bit_operation_and(), bm::bit_operation_or(), bm::bit_operation_sub(), bm::bit_operation_xor(), bm::bvector<>::bit_or(), bm::bit_scan_forward32(), bm::bit_scan_reverse(), bm::bit_scan_reverse32(), bm::bvector<>::bit_xor(), bm::bitcmp(), bm::block_any_range(), bm::block_find_interval_end(), bm::block_find_interval_start(), bm::block_find_reverse(), bm::block_is_all_one_range(), bm::block_is_interval(), bm::block_ptr_array_range(), bm::block_range_scan(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::build_octet_remap(), bm::bvector<>::build_rs_index(), bm::compressed_buffer_collection< BV >::calc_stat(), bm::base_sparse_vector< Val, BV, 1 >::calc_stat(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::calc_stat(), bm::sparse_vector< unsigned short, bvector_type >::calc_stat(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::calc_stat(), bm::bvector<>::calc_stat(), bm::bvector<>::clear(), bm::basic_bmatrix< bvector_type >::clear_row(), bm::aggregator< bvector_type >::combine_and(), bm::aggregator< bvector_type >::combine_and_horizontal(), bm::combine_and_sorted(), bm::aggregator< bvector_type >::combine_and_sub(), bm::aggregator< bvector_type >::combine_and_sub_horizontal(), bm::combine_any_operation_with_block(), bm::combine_count_operation_with_block(), bm::bvector<>::combine_operation(), bm::aggregator< bvector_type >::combine_or(), bm::combine_or(), bm::aggregator< bvector_type >::combine_or_horizontal(), bm::aggregator< bvector_type >::combine_shift_right_and(), bm::combine_sub(), bm::combine_xor(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::compare(), bm::rank_compressor< bvector_type >::compress(), bm::rank_compressor< bvector_type >::compress_by_source(), bm::xor_scanner< bvector_type >::compute_x_block_stats(), bm::rsc_sparse_vector< Val, SV >::const_iterator::const_iterator(), bm::sparse_vector< Val, BV >::const_iterator::const_iterator(), bm::basic_bmatrix< bvector_type >::construct_row(), bm::bvector<>::copy_range(), bm::bvector<>::count(), bm::bvector<>::count_blocks(), bm::count_leading_zeros_u32(), bm::count_leading_zeros_u64(), bm::bvector<>::count_range(), bm::bvector<>::count_to(), bm::bvector<>::count_to_test(), bm::count_trailing_zeros_u32(), bm::count_trailing_zeros_u64(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::decode(), bm::deserializer< BV, bm::decoder >::decode_bit_block(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::decode_buf(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::decode_substr(), bm::rank_compressor< bvector_type >::decompress(), bm::sparse_vector_scanner< SV >::decompress(), bm::compressed_collection_deserializer< CBC >::deserialize(), bm::deserializer< BV, bm::decoder >::deserialize(), bm::iterator_deserializer< BV, bm::serial_stream_iterator >::deserialize(), bm::operation_deserializer< bvector_type >::deserialize(), bm::deserialize(), bm::deserializer< BV, bm::decoder >::deserialize_gap(), bm::sparse_vector_deserializer< SV >::deserialize_plains(), bm::operation_deserializer< bvector_type >::deserialize_range(), bm::deserialize_range(), bm::sparse_vector_deserializer< SV >::deserialize_structure(), bm::sparse_vector_deserializer< SV >::deserialize_sv(), bm::basic_bmatrix< bvector_type >::destruct_row(), bm::digest_mask(), bm::dynamic_range_clip_high(), bm::dynamic_range_clip_low(), bm::serializer< bvector_type >::encode_bit_interval(), bm::serializer< bvector_type >::encode_gap_block(), bm::sparse_vector_serializer< SV >::encode_remap_matrix(), bm::compressed_collection< serializer< BV >::buffer, BV >::equal(), bm::base_sparse_vector< Val, BV, 1 >::equal(), bm::sparse_vector< unsigned short, bvector_type >::erase(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::erase(), bm::bvector<>::erase(), bm::export_array(), bm::sparse_vector< unsigned short, bvector_type >::extract_range(), bm::serializer< bvector_type >::find_bit_best_encoding(), bm::aggregator< bvector_type >::find_effective_sub_block_size(), bm::sparse_vector_scanner< SV >::find_eq(), bm::sparse_vector_scanner< SV >::find_eq_str(), bm::sparse_vector_scanner< SV >::find_eq_str_impl(), bm::sparse_vector_scanner< SV >::find_eq_with_nulls_horizontal(), bm::aggregator< bvector_type >::find_first_and_sub(), bm::sparse_vector_scanner< SV >::find_first_eq(), bm::find_interval_end(), bm::find_interval_start(), bm::find_not_null_ptr(), bm::bvector<>::find_range(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::find_rank(), bm::sparse_vector< unsigned short, bvector_type >::find_rank(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::find_rank(), bm::bvector<>::find_rank(), bm::sparse_vector< Val, BV >::back_insert_iterator::flush(), bm::bvector< Alloc >::bulk_insert_iterator::flush(), bm::for_each_bit_blk(), bm::for_each_bit_block_range(), bm::for_each_bit_range(), bm::for_each_gap_blk_range(), bm::for_each_nzblock_range(), bm::alloc_pool< BA, PA >::free_bit_block(), bm::mem_alloc< BA, PA, APool >::free_bit_block(), bm::mem_alloc< BA, PA, APool >::free_gap_block(), bm::bit_out< TEncoder >::gamma(), bm::serializer< bvector_type >::gamma_gap_bit_block(), bm::gap_2_bitblock(), bm::gap_add_to_bitset(), bm::gap_add_value(), bm::gap_and_to_bitset(), bm::gap_any_range(), bm::gap_bfind(), bm::gap_bit_count_range(), bm::gap_bit_count_to(), bm::gap_bit_count_unr(), bm::gap_bitset_and_any(), bm::gap_bitset_and_count(), bm::gap_bitset_or_count(), bm::gap_bitset_sub_any(), bm::gap_bitset_sub_count(), bm::gap_bitset_xor_any(), bm::gap_bitset_xor_count(), bm::gap_block_find(), bm::gap_calc_level(), bm::gap_control_sum(), bm::gap_find_first(), bm::gap_find_first_diff(), bm::gap_find_interval_end(), bm::gap_find_interval_start(), bm::gap_find_last(), bm::gap_find_prev(), bm::gap_find_rank(), bm::gap_init_range_block(), bm::gap_is_all_one_range(), bm::gap_is_interval(), bm::gap_overhead(), bm::gap_set_all(), bm::gap_set_array(), bm::gap_set_value(), bm::gap_shift_l1(), bm::gap_shift_r1(), bm::gap_sub_to_bitset(), bm::gap_test(), bm::gap_test_unr(), bm::gap_xor_to_bitset(), bm::sparse_vector< unsigned short, bvector_type >::gather(), bm::bit_grabber< T, BPC >::get(), bm::bvps_addr_resolver< bvector_type >::get(), bm::sparse_vector< unsigned short, bvector_type >::get(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::get(), bm::decoder::get_16(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_arr_bit(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit(), bm::bvector<>::get_bit(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_AND(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_ASSIGN(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_A(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_AND(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_OR(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_SUB_AB(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_SUB_BA(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_XOR(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_OR(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_SUB(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_XOR(), bm::bit_in< TDecoder >::get_bits(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_gap_block(), bm::base_sparse_vector< Val, BV, 1 >::get_plains_mask(), bm::basic_bmatrix< bvector_type >::get_row(), bm::bvector< Alloc >::enumerator::go_first(), bm::bvector< Alloc >::enumerator::go_to(), bm::interval_enumerator< BV >::go_to_impl(), bm::bvector< Alloc >::enumerator::go_up(), bm::idx_arr_block_lookup_u32(), bm::idx_arr_block_lookup_u64(), bm::bvector<>::import(), bm::bvector<>::import_block(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::import_no_check(), bm::improve_gap_levels(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::inc(), bm::bvector<>::inc(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::inc_not_null(), bm::bvector<>::insert(), bm::basic_bmatrix< bvector_type >::insert_octet(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::insert_value_no_null(), bm::serializer< bvector_type >::interpolated_arr_bit_block(), bm::serializer< bvector_type >::interpolated_encode_gap_block(), bm::serializer< bvector_type >::interpolated_gap_array(), bm::serializer< bvector_type >::interpolated_gap_array_v0(), bm::serializer< bvector_type >::interpolated_gap_bit_block(), bm::bvector<>::is_all_one_range(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::is_null(), bm::bvector<>::keep(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::load_from(), bm::sparse_vector_deserializer< SV >::load_header(), bm::sparse_vector_deserializer< SV >::load_null_plain(), bm::sparse_vector_deserializer< SV >::load_plains_off_table(), bm::sparse_vector_deserializer< SV >::load_remap(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::load_to(), bm::sparse_vector_scanner< SV >::lower_bound(), bm::lower_bound_linear_u32(), bm::lower_bound_linear_u64(), bm::sparse_vector_scanner< SV >::lower_bound_str(), bm::lower_bound_u32(), bm::lower_bound_u64(), bm::mask_l_u32(), bm::mask_r_u32(), bm::aggregator< bvector_type >::max_top_blocks(), bm::encoder::memcpy(), bm::bvector<>::merge(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::merge_not_null(), bm::min_delta_apply(), bm::min_delta_u32(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::next(), bm::operation2metric(), bm::rsc_sparse_vector< Val, SV >::back_insert_iterator::operator=(), bm::sparse_vector< Val, BV >::back_insert_iterator::operator=(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::back_insert_iterator::operator=(), bm::bvector< Alloc >::insert_iterator::operator=(), bm::bvector< Alloc >::bulk_insert_iterator::operator=(), bm::bvector<>::operator[](), bm::pointer_pool_array::pop(), bm::sparse_vector_scanner< SV >::prepare_and_sub_aggregator(), bm::aggregator< bvector_type >::process_bit_blocks_or(), bm::serializer< bvector_type >::process_bookmark(), bm::aggregator< bvector_type >::process_gap_blocks_and(), bm::aggregator< bvector_type >::process_gap_blocks_sub(), bm::process_operation(), bm::aggregator< bvector_type >::process_shift_right_and(), bm::compressed_collection< serializer< BV >::buffer, BV >::push_back(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::push_back_no_check(), bm::sparse_vector< unsigned short, bvector_type >::push_back_null(), bm::encoder::put_16(), bm::encoder::put_24(), bm::encoder::put_48(), bm::bit_out< TEncoder >::put_bit(), bm::bit_out< TEncoder >::put_bits(), bm::bvector<>::rank_corrected(), bm::deseriaizer_base< bm::decoder, BV::block_idx_type >::read_0runs_block(), bm::deseriaizer_base< bm::decoder, BV::block_idx_type >::read_bic_arr(), bm::deseriaizer_base< bm::decoder, BV::block_idx_type >::read_bic_gap(), bm::deseriaizer_base< bm::decoder, BV::block_idx_type >::read_bic_sb_arr(), bm::deseriaizer_base< bm::decoder, BV::block_idx_type >::read_gap_block(), bm::deseriaizer_base< bm::decoder, BV::block_idx_type >::read_id_list(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::recalc_remap_matrix2(), bm::set2set_11_transform< SV >::remap(), bm::aggregator< bvector_type >::resize_target(), bm::bvps_addr_resolver< bvector_type >::resolve(), bm::sv_addr_resolver< SV >::resolve(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::resolve(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::resolve_range(), bm::tmatrix< T, ROWS, COLS >::row(), bm::basic_bmatrix< bvector_type >::row(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::rsc_sparse_vector(), bm::aggregator< bvector_type >::run_step(), bm::random_subset< BV >::sample(), bm::xor_scanner< bvector_type >::search_best_xor_gap(), bm::xor_scanner< bvector_type >::search_best_xor_mask(), bm::bvector<>::select(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::serial_stream_iterator(), bm::serializer< bvector_type >::serialize(), bm::sparse_vector_serializer< SV >::serialize(), bm::bvps_addr_resolver< bvector_type >::set(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::set(), bm::bvector<>::set_bit_and(), bm::set_gap_level(), bm::similarity_descriptor< SO, DMD_SZ, IDX_VALUE, SValue, SFunc >::set_metric(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::set_null(), bm::basic_bmatrix< bvector_type >::set_octet(), bm::iterator_deserializer< BV, bm::serial_stream_iterator >::set_range(), bm::bvector<>::set_range(), bm::sparse_vector_scanner< SV >::set_search_range(), bm::serializer< bvector_type >::set_sparse_cutoff(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::set_substr(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::set_value_no_null(), bm::setop2op(), bm::bvector< Alloc >::enumerator::skip(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::skip_mono_blocks(), bm::bvector< Alloc >::enumerator::skip_to_rank(), bm::aggregator< bvector_type >::sort_input_blocks_and(), bm::aggregator< bvector_type >::sort_input_blocks_or(), bm::sparse_vector_find_first_mismatch(), bm::sparse_vector_find_mismatch(), bm::sse2_gap_bfind(), bm::sse2_gap_find(), bm::sse42_bit_find_first(), bm::sse42_bit_find_first_diff(), bm::sse42_gap_bfind(), bm::sse42_shift_r1_and(), bm::sse4_gap_find(), bm::aggregator< bvector_type >::stage(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::sync(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::sync_size(), bm::basic_bmatrix< bvector_type >::test_4rows(), bm::tmatrix_reduce(), bm::tmatrix_restore(), bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose(), bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::trestore(), bm::deseriaizer_base< bm::decoder, BV::block_idx_type >::try_skip(), bm::update_block_digest0(), bm::xor_scanner< bvector_type >::validate_found(), bm::rsc_sparse_vector< Val, SV >::const_iterator::value(), bm::sparse_vector< Val, BV >::const_iterator::value(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::value(), bm::vect_bit_transpose(), bm::word_select32_bitscan_popcnt(), bm::word_select32_bitscan_tz(), bm::word_select64_bitscan_popcnt(), bm::word_select64_bitscan_tz(), bm::word_select64_linear(), bm::deserializer< BV, bm::decoder >::xor_decode(), bm::xor_swap(), bm::aggregator< bvector_type >::~aggregator(), bm::deserializer< BV, bm::decoder >::~deserializer(), and bm::pointer_pool_array::~pointer_pool_array().

◆ BM_ASSERT_THROW

#define BM_ASSERT_THROW (   x,
  xerrcode 
)

◆ BM_BLOCK_TYPE

#define BM_BLOCK_TYPE (   addr)    bm::all_set<true>::block_type(addr)

Definition at line 162 of file bmdef.h.

◆ BM_FALLTHROUGH

#define BM_FALLTHROUGH

◆ BM_IS_GAP

#define BM_IS_GAP (   ptr)    bool(BMPTR_TESTBIT0(ptr)!=0)

Definition at line 187 of file bmdef.h.

Referenced by bm::block_any(), bm::block_any_range(), bm::block_find_first_diff(), bm::block_find_interval_end(), bm::block_find_interval_start(), bm::block_find_rank(), bm::block_find_reverse(), bm::block_is_all_one_range(), bm::block_is_interval(), bm::bvector<>::build_rs_index(), bm::bvector<>::calc_stat(), bm::check_block_one(), bm::check_block_zero(), bm::combine_count_and_operation_with_block(), bm::combine_count_operation_with_block(), bm::bvector<>::combine_operation(), bm::bvector<>::combine_operation_with_block(), bm::aggregator< bvector_type >::combine_shift_right_and(), bm::bvector<>::compare(), bm::xor_scanner< bvector_type >::compute_x_block_stats(), bm::bvector<>::count_range(), bm::bvector<>::count_to(), bm::bvector<>::count_to_test(), bm::deserializer< BV, bm::decoder >::decode_arrbit(), bm::deserializer< BV, bm::decoder >::decode_bit_block(), bm::deserializer< BV, bm::decoder >::deserialize(), bm::iterator_deserializer< BV, bm::serial_stream_iterator >::deserialize(), bm::distance_operation_any(), bm::bvector<>::erase(), bm::sparse_vector< unsigned short, bvector_type >::extract_range(), bm::bvector<>::find(), bm::bvector<>::find_reverse(), bm::for_each_bit_block_range(), bm::for_each_bit_range_no_check(), bm::sparse_vector< unsigned short, bvector_type >::gather(), bm::bvector<>::get_bit(), bm::basic_bmatrix< bvector_type >::get_half_octet(), bm::basic_bmatrix< bvector_type >::get_octet(), bm::bvector< Alloc >::enumerator::go_first(), bm::bvector< Alloc >::enumerator::go_to(), bm::interval_enumerator< BV >::go_to_impl(), bm::bvector<>::import_block(), bm::bvector<>::inc(), bm::bvector<>::insert(), bm::bvector<>::invert(), bm::aggregator< bvector_type >::process_shift_right_and(), bm::bvector<>::rank_corrected(), bm::deseriaizer_base< bm::decoder, BV::block_idx_type >::read_bic_arr(), bm::deseriaizer_base< bm::decoder, BV::block_idx_type >::read_bic_gap(), bm::random_subset< BV >::sample(), bm::xor_scanner< bvector_type >::search_best_xor_gap(), bm::xor_scanner< bvector_type >::search_best_xor_mask(), bm::bvector<>::select(), bm::serializer< bvector_type >::serialize(), bm::aggregator< bvector_type >::sort_input_blocks_and(), bm::aggregator< bvector_type >::sort_input_blocks_or(), and bm::deserializer< BV, bm::decoder >::xor_decode().

◆ BM_SET_MMX_GUARD

#define BM_SET_MMX_GUARD

Definition at line 252 of file bmdef.h.

◆ BM_VECT_ALIGN

#define BM_VECT_ALIGN   BM_ALIGN32

◆ BM_VECT_ALIGN_ATTR

#define BM_VECT_ALIGN_ATTR   BM_ALIGN32ATTR

◆ BM_x86

#define BM_x86

Definition at line 71 of file bmdef.h.

◆ BMFORCEINLINE

#define BMFORCEINLINE   inline

◆ BMGAP_PTR

#define BMGAP_PTR (   ptr)    ((bm::gap_word_t*)BMPTR_CLEARBIT0(ptr))

Definition at line 185 of file bmdef.h.

Referenced by bm::block_any(), bm::block_any_range(), bm::block_find_first_diff(), bm::block_find_interval_end(), bm::block_find_interval_start(), bm::block_find_rank(), bm::block_find_reverse(), bm::block_is_all_one_range(), bm::block_is_interval(), bm::bvector<>::build_rs_index(), bm::bvector<>::calc_stat(), bm::check_block_one(), bm::check_block_zero(), bm::combine_any_operation_with_block(), bm::combine_count_and_operation_with_block(), bm::combine_count_operation_with_block(), bm::bvector<>::combine_operation(), bm::combine_or(), bm::aggregator< bvector_type >::combine_shift_right_and(), bm::combine_sub(), bm::combine_xor(), bm::bvector<>::compare(), bm::bvector<>::count_range(), bm::bvector<>::count_to(), bm::bvector<>::count_to_test(), bm::deserializer< BV, bm::decoder >::deserialize_gap(), bm::bvector<>::erase(), bm::sparse_vector< unsigned short, bvector_type >::extract_range(), bm::bvector<>::find(), bm::bvector<>::find_reverse(), bm::for_each_bit_block_range(), bm::for_each_bit_range_no_check(), bm::sparse_vector< unsigned short, bvector_type >::gather(), bm::bvector<>::get_bit(), bm::basic_bmatrix< bvector_type >::get_half_octet(), bm::basic_bmatrix< bvector_type >::get_octet(), bm::bvector< Alloc >::enumerator::go_first(), bm::bvector< Alloc >::enumerator::go_to(), bm::interval_enumerator< BV >::go_to_impl(), bm::bvector<>::inc(), bm::bvector<>::insert(), bm::bvector<>::invert(), bm::aggregator< bvector_type >::process_shift_right_and(), bm::bvector<>::rank_corrected(), bm::random_subset< BV >::sample(), bm::xor_scanner< bvector_type >::search_best_xor_gap(), bm::bvector<>::select(), bm::serializer< bvector_type >::serialize(), bm::bvector<>::set_bit_no_check(), bm::aggregator< bvector_type >::sort_input_blocks_and(), bm::aggregator< bvector_type >::sort_input_blocks_or(), and bm::deserializer< BV, bm::decoder >::xor_decode().

◆ BMNOEXCEPT

#define BMNOEXCEPT   noexcept

Definition at line 81 of file bmdef.h.

Referenced by bm::rsc_sparse_vector< Val, SV >::back_insert_iterator::add_null(), bm::bvector< Alloc >::enumerator::advance(), bm::serializer< bvector_type >::allow_stat_reset(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::back_insert_iterator::back_insert_iterator(), bm::base_sparse_vector< Val, BV, 1 >::base_sparse_vector(), bm::bit_in< TDecoder >::bic_decode_u16_dry(), bm::bit_out< TEncoder >::bic_encode_u16(), bm::bit_in< TDecoder >::bit_in(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::clear(), bm::rsc_sparse_vector< Val, SV >::const_iterator::const_iterator(), bm::sparse_vector< Val, BV >::const_iterator::const_iterator(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::const_iterator(), bm::bvector<>::count_blocks(), bm::deseriaizer_base< bm::decoder, BV::block_idx_type >::deseriaizer_base(), bm::sparse_vector_serializer< SV >::disable_xor_compression(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::effective_vector_max(), bm::sparse_vector< unsigned short, bvector_type >::effective_vector_max(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::empty(), bm::bvector<>::equal(), bm::bvector<>::erase(), bm::deseriaizer_base< bm::decoder, BV::block_idx_type >::err_msg(), bm::sparse_vector< unsigned short, bvector_type >::extract(), bm::bvector<>::extract_next(), bm::sparse_vector_scanner< SV >::find_eq(), bm::bvector<>::forget_count(), bm::base_sparse_vector< Val, BV, 1 >::free_plain(), bm::interval_enumerator< BV >::get(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::get(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::get_back_inserter(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_bit_block_COUNT_B(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::get_block_type(), bm::bvector<>::get_blocks_manager(), bm::base_sparse_vector< Val, BV, 1 >::get_bmatrix(), bm::bvps_addr_resolver< bvector_type >::get_bvector(), bm::bvector<>::get_enumerator(), bm::base_sparse_vector< Val, BV, 1 >::get_null_bvector(), bm::xor_scanner< bvector_type >::get_ref_vector(), bm::bvector< Alloc >::enumerator::go_first(), bm::ilog2_LUT< bm::gap_word_t >(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::import_back(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::insert(), bm::sparse_vector< unsigned short, bvector_type >::is_compressed(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::is_compressed(), bm::serial_stream_iterator< DEC, BLOCK_IDX >::is_eof(), bm::bvector<>::is_init(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::is_remap(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::max_str(), bm::bvector<>::none(), bm::rsc_sparse_vector< Val, SV >::const_iterator::operator++(), bm::interval_enumerator< BV >::operator++(), bm::sparse_vector< Val, BV >::const_iterator::operator++(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::operator++(), bm::rsc_sparse_vector< Val, SV >::back_insert_iterator::operator++(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::back_insert_iterator::operator++(), bm::bvector< Alloc >::enumerator::operator++(), bm::bvps_addr_resolver< bvector_type >::operator=(), bm::basic_bmatrix< bvector_type >::operator=(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::operator=(), bm::sparse_vector< unsigned short, bvector_type >::operator=(), bm::bvector<>::operator=(), bm::interval_enumerator< BV >::operator>=(), bm::rsc_sparse_vector< unsigned, sparse_vector_u32 >::operator[](), bm::sparse_vector< unsigned short, bvector_type >::operator[](), bm::pointer_pool_array::pop(), bm::rsc_sparse_vector< Val, SV >::const_iterator::pos(), bm::sparse_vector< Val, BV >::const_iterator::pos(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::const_iterator::pos(), bm::bvector<>::rank(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::remap_tosv(), bm::serializer< bvector_type >::reset_models(), bm::sparse_vector< unsigned short, bvector_type >::resize(), bm::basic_bmatrix< bvector_type >::rows(), bm::random_subset< BV >::sample(), bm::decoder_base::seek(), bm::bvector<>::select(), bm::basic_bmatrix< bvector_type >::set_allocator_pool(), bm::aggregator< bvector_type >::set_compute_count(), bm::base_sparse_vector< Val, BV, 1 >::size(), bm::bvector<>::size(), bm::bvector< Alloc >::enumerator::skip_to_rank(), bm::bvector<>::test(), bm::sparse_vector< unsigned short, bvector_type >::translate_address(), bm::iterator_deserializer< BV, bm::serial_stream_iterator >::unset_range(), and bm::bit_out< TEncoder >::~bit_out().

◆ BMNOEXCEPT2 [1/2]

#define BMNOEXCEPT2

◆ BMNOEXCEPT2 [2/2]

#define BMNOEXCEPT2

Definition at line 105 of file bmdef.h.

◆ BMPTR_CLEARBIT0

#define BMPTR_CLEARBIT0 (   ptr)    ( ((bm::id64_t)ptr) & ~(bm::id64_t)1 )

Definition at line 174 of file bmdef.h.

◆ BMPTR_SETBIT0

#define BMPTR_SETBIT0 (   ptr)    ( ((bm::id64_t)ptr) | 1 )

Definition at line 173 of file bmdef.h.

Referenced by bm::deserializer< BV, bm::decoder >::deserialize_gap().

◆ BMPTR_TESTBIT0

#define BMPTR_TESTBIT0 (   ptr)    ( ((bm::id64_t)ptr) & 1 )

Definition at line 175 of file bmdef.h.

◆ BMRESTRICT

#define BMRESTRICT

Definition at line 199 of file bmdef.h.

Referenced by bm::avx2_and_block(), bm::avx2_bit_block_calc_xor_change(), bm::avx2_bit_block_count(), bm::avx2_bit_to_gap(), bm::avx2_copy_block(), bm::avx2_invert_block(), bm::avx2_is_all_one(), bm::avx2_is_all_zero(), bm::avx2_lower_bound_scan_u32(), bm::avx2_or_block(), bm::avx2_or_block_2way(), bm::avx2_or_block_3way(), bm::avx2_or_block_5way(), bm::avx2_set_block(), bm::avx2_stream_block(), bm::avx2_sub_block(), bm::avx2_xor_block(), bm::avx2_xor_block_2way(), bm::bit_andnot_arr_ffmask(), bm::bit_block_and(), bm::bit_block_and_2way(), bm::bit_block_and_5way(), bm::bit_block_convert_to_arr(), bm::bit_block_count(), bm::bit_block_or(), bm::bit_block_or_2way(), bm::bit_block_or_3way(), bm::bit_block_or_5way(), bm::bit_block_or_any(), bm::bit_block_shift_r1_unr_min(), bm::bit_block_sub(), bm::bit_block_sub_2way(), bm::bit_block_sub_any(), bm::bit_block_sub_count(), bm::bit_block_to_gap(), bm::bit_block_xor(), bm::bit_block_xor_2way(), bm::bit_block_xor_any(), bm::bit_block_xor_count(), bm::bit_count_min_unroll(), bm::bit_find_first_diff(), bm::bit_is_all_zero(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::decode_substr(), bm::sparse_vector_serializer< SV >::encode_remap_matrix(), bm::sparse_vector< unsigned short, bvector_type >::extract(), bm::for_each_gap_blk_range(), bm::gap_convert_to_arr(), bm::bvector< Alloc >::enumerator::go_first(), bm::interval_enumerator< BV >::go_to_impl(), bm::is_bits_one(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::is_remap(), bm::sparse_vector_deserializer< SV >::load_remap(), bm::str_sparse_vector< CharType, BV, MAX_STR_SIZE >::remap_tosv(), bm::sse2_and_block(), bm::sse2_bit_block_calc_count_change(), bm::sse2_copy_block(), bm::sse2_gap_find(), bm::sse2_invert_block(), bm::sse2_or_block(), bm::sse2_or_block_2way(), bm::sse2_or_block_3way(), bm::sse2_or_block_5way(), bm::sse2_set_block(), bm::sse2_stream_block(), bm::sse2_sub_block(), bm::sse2_xor_block(), bm::sse2_xor_block_2way(), bm::sse4_and_block(), bm::sse4_gap_find(), bm::sse4_is_all_one(), bm::sse4_is_all_zero(), bm::sse4_lower_bound_scan_u32(), and bm::update_block_digest0().

◆ BMSET_PTRGAP

#define BMSET_PTRGAP (   ptr)    ptr = (bm::word_t*)BMPTR_SETBIT0(ptr)

◆ FULL_BLOCK_FAKE_ADDR

#define FULL_BLOCK_FAKE_ADDR   bm::all_set<true>::_block._p_fullp

Definition at line 155 of file bmdef.h.

Referenced by bm::bvector<>::any_range(), bm::bvector<>::bit_and(), bm::bit_operation_and_any(), bm::bit_operation_and_count(), bm::bit_operation_or(), bm::bit_operation_or_any(), bm::bit_operation_or_count(), bm::bit_operation_sub_any(), bm::bit_operation_sub_count(), bm::bit_operation_xor_count(), bm::bvector<>::bit_or(), bm::bvector<>::bit_sub(), bm::bvector<>::bit_xor(), bm::block_is_all_one_range(), bm::block_is_interval(), bm::bvector<>::build_rs_index(), bm::bvector<>::calc_stat(), bm::aggregator< bvector_type >::combine_and(), bm::aggregator< bvector_type >::combine_and_sub(), bm::bvector<>::combine_operation(), bm::bvector<>::combine_operation_and(), bm::bvector<>::combine_operation_or(), bm::bvector<>::combine_operation_sub(), bm::bvector<>::combine_operation_xor(), bm::aggregator< bvector_type >::combine_or(), bm::bvector<>::compare(), bm::bvector<>::count(), bm::bvector<>::count_to(), bm::bvector<>::count_to_test(), bm::distance_and_operation(), bm::bvector<>::erase(), bm::sparse_vector< unsigned short, bvector_type >::extract_range(), bm::bvector<>::find(), bm::aggregator< bvector_type >::find_effective_sub_block_size(), bm::bvector<>::find_first_mismatch(), bm::find_interval_end(), bm::find_interval_start(), bm::bvector<>::find_reverse(), bm::for_each_bit(), bm::for_each_bit_block_range(), bm::for_each_block(), bm::for_each_nzblock(), bm::for_each_nzblock2(), bm::for_each_nzblock_if(), bm::for_each_nzblock_range(), bm::sparse_vector< unsigned short, bvector_type >::gather(), bm::bvector<>::get_bit(), bm::basic_bmatrix< bvector_type >::get_half_octet(), bm::basic_bmatrix< bvector_type >::get_octet(), bm::bvector< Alloc >::enumerator::go_first(), bm::interval_enumerator< BV >::go_to_impl(), bm::bvector<>::insert(), bm::bvector<>::invert(), bm::bvector<>::is_all_one_range(), bm::bvector<>::merge(), bm::aggregator< bvector_type >::process_bit_blocks_or(), bm::bvector<>::rank_corrected(), bm::bvector<>::select(), bm::serializer< bvector_type >::serialize(), bm::aggregator< bvector_type >::sort_input_blocks_and(), and bm::aggregator< bvector_type >::sort_input_blocks_or().

◆ FULL_BLOCK_REAL_ADDR

#define FULL_BLOCK_REAL_ADDR   bm::all_set<true>::_block._p

◆ FULL_SUB_BLOCK_REAL_ADDR

#define FULL_SUB_BLOCK_REAL_ADDR   bm::all_set<true>::_block._s

◆ IS_EMPTY_BLOCK

#define IS_EMPTY_BLOCK (   addr)    bool(addr == 0)

◆ IS_FULL_BLOCK

#define IS_FULL_BLOCK (   addr)    bm::all_set<true>::is_full_block(addr)

◆ IS_VALID_ADDR

#define IS_VALID_ADDR (   addr)    bm::all_set<true>::is_valid_block_addr(addr)