//******************************************************** // 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 #include int main() { std::array coll{"Amsterdam", "Rome", "Cologne", "NY"}; std::println("coll: {}\n", coll); // move \IBlong strings in reverse order to another container: auto large = [](const auto& s) { return s.size() > 5; }; // \Bchanged auto sub = coll | std::views::filter(large) // \IBlong strings of coll | std::views::reverse // in reverse order | std::views::as_rvalue // move them | std::ranges::to(); // into a vector std::println("coll: {}", coll); std::println("sub: {}", sub); }