50 std::cout <<
"<EMPTY SET>";
52 for (; first != last; ++first)
53 std::cout << *first <<
";";
54 std::cout << std::endl;
67 std::cout <<
"AGRUMENT (GROUP 0) SETS:" << std::endl;
69 std::vector<std::unique_ptr<bm::bvector<> > > vect;
79 vect.push_back(std::move(bv));
81 std::cout << std::endl;
88 for (
unsigned i = 0; i < vect.size(); ++i)
90 agg.
add(vect[i].get());
97 std::cout <<
"OR:" << std::endl;
103 std::cout <<
"AND:" << std::endl;
111 for (
unsigned i = 0; i < vect.size(); ++i)
113 const unsigned group0 = 0;
114 agg.
add(vect[i].get(), group0);
121 std::cout <<
"AND-SUB(empty):" << std::endl;
129 std::cout <<
"AND-SUB:" << std::endl;
135 catch(std::exception& ex)
137 std::cerr << ex.what() << std::endl;
143 catch(std::exception& ex)
145 std::cerr << ex.what() << std::endl;
Compressed bit-vector bvector<> container, set algebraic methods, traversal iterators.
Algorithms for fast aggregation of N bvectors.
pre-processor un-defines to avoid global space pollution (internal)
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...
void reset()
Reset aggregate groups, forget all attached vectors.
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...
size_t add(const bvector_type *bv, unsigned agr_group=0)
Attach source bit-vector to a argument group (0 or 1).
Bitvector Bit-vector container with runtime compression of bits.
enumerator first() const
Returns enumerator pointing on the first non-zero bit.
enumerator end() const
Returns enumerator pointing on the next bit after the last.
void PrintContainer(T first, T last)
const unsigned max_vectors