//******************************************************** // The following code example is taken from the book // C++23 - The Complete Guide // by Nicolai M. Josuttis (www.josuttis.com) // http://www.cppstd23.com // // The code is licensed under a // Creative Commons Attribution 4.0 International License // http://creativecommons.org/licenses/by/4.0/ //******************************************************** #include #include #include #include int main() { std::vector coll1{"X", "Y"}; std::vector coll2{"A", "B"}; std::vector coll3{"1", "2"}; std::println("coll1: {}", coll1); std::println("coll2: {}", coll2); std::println("coll3: {}", coll3); // BAD: auto vec = std::views::cartesian_product(coll1 | std::views::as_rvalue, coll2 | std::views::as_rvalue, coll3 | std::views::as_rvalue) | std::ranges::to(); std::println("vec: {}", vec); }