Go to the documentation of this file.
50 std::cout <<
"<EMPTY SET>";
52 for (; first != last; ++first)
53 std::cout << *first <<
";";
54 std::cout << std::endl;
70 std::cerr <<
"Too many bit-vectors!" << std::endl;
74 std::cout <<
"AGRUMENT (GROUP 0) SETS:" << std::endl;
76 std::vector<std::unique_ptr<bm::bvector<> > > vect;
86 vect.push_back(std::move(bv));
88 std::cout << std::endl;
95 for (
unsigned i = 0; i < vect.size(); ++i)
97 agg.
add(vect[i].get());
104 std::cout <<
"OR:" << std::endl;
110 std::cout <<
"AND:" << std::endl;
118 for (
unsigned i = 0; i < vect.size(); ++i)
120 const unsigned group0 = 0;
121 agg.
add(vect[i].get(), group0);
128 std::cout <<
"AND-SUB(empty):" << std::endl;
136 std::cout <<
"AND-SUB:" << std::endl;
142 catch(std::exception& ex)
144 std::cerr << ex.what() << std::endl;
150 catch(std::exception& ex)
152 std::cerr << ex.what() << std::endl;
Algorithms for fast aggregation of N bvectors.
void combine_or(bvector_type &bv_target)
Aggregate added group of vectors using logical OR Operation does NOT perform an explicit reset of arg...
void combine_and(bvector_type &bv_target)
Aggregate added group of vectors using logical AND Operation does NOT perform an explicit reset of ar...
Algorithms for fast aggregation of a group of bit-vectors.
bool combine_and_sub(bvector_type &bv_target)
Aggregate added group of vectors using fused logical AND-SUB Operation does NOT perform an explicit r...
unsigned add(const bvector_type *bv, unsigned agr_group=0)
Attach source bit-vector to a argument group (0 or 1).
void reset()
Reset aggregate groups, forget all attached vectors.
const unsigned max_vectors
enumerator end() const
Returns enumerator pointing on the next bit after the last.
void PrintContainer(T first, T last)
enumerator first() const
Returns enumerator pointing on the first non-zero bit.
Compressed bit-vector bvector<> container, set algebraic methods, traversal iterators.