61 const unsigned ranges = 3;
72 cout <<
"Target split rank:" << split_rank << endl;
77 for (
size_t k = 0; k < pair_vect.size(); ++k)
79 const auto& p = pair_vect[k];
80 cout << k <<
": [" << p.first <<
".." << p.second <<
"] ";
84 for (; en.
valid(); ++en)
95 catch(std::exception& ex)
97 std::cerr << ex.what() << std::endl;
Compressed bit-vector bvector<> container, set algebraic methods, traversal iterators.
Algorithms for bvector<> (main include)
pre-processor un-defines to avoid global space pollution (internal)
Constant iterator designed to enumerate "ON" bits.
bool valid() const BMNOEXCEPT
Checks if iterator is still valid.
Bitvector Bit-vector container with runtime compression of bits.
bvector_size_type size_type
void rank_range_split(const BV &bv, typename BV::size_type rank, PairVect &target_v)
Algorithm to identify bit-vector ranges (splits) for the rank.
bm::bvector ::size_type bv_size_type
std::vector< std::pair< bv_size_type, bv_size_type > > bv_ranges_vector