#include #include int main() { using namespace std::views; auto output = iota(1) | filter([](int x){ return x%2 == 0; }) | transform([](int x){ return 3*x; }) | take(10); // no calculation is done up to here (lazy evaluation) for (auto e : output) std::cout << e << ' '; }