#include
#include
#include
template
void testcase(std::vector data_vec,
std::vector sel_vec)
{
for (auto e : compress(data_vec, sel_vec)) {
std::cout << e << '\n';
}
}
int main(void) {
using BVec = const std::vector;
std::vector ns{0, 1, 2, 3, 4, 5};
std::cout << "ns = { ";
for (auto&& i : ns) {
std::cout << i << ' ';
}
std::cout << "}\n";
BVec b1{true, false, true, false, true, false};
std::cout << "compress(ns, {true, false, true, false, true, false}): { ";
for (auto&& i : iter::compress(ns, b1)) {
std::cout << i << ' ';
}
std::cout << "}\n";
BVec b2 {true};
// compress terminates on the shortest sequence (either one)
std::cout << "compress(ns, {true}): { ";
for (auto&& i : iter::compress(ns, b2)) {
std::cout << i << ' ';
}
std::cout << "}\n";
}