The following code example is taken from the book
C++23 - The Complete Guide
by Nicolai M. Josuttis,
Leanpub, 2026
The code is licensed under a
Creative Commons Attribution 4.0 International License.
// raw code
#include <print>
#include <string>
#include <vector>
#include <ranges>
int main()
{
std::vector<std::string> coll{"Rome", "Berlin", "LA", "Kiev", "NY"};
// copy to sub-sequences of three elements:
auto vec1 = coll | std::views::adjacent<3>
| std::ranges::to<std::vector>();
std::println("coll: {}", coll);
std::println("vec1: {}\n", vec1);
// move to sub-sequences of three elements:
auto vec2 = coll | std::views::adjacent<3>
| std::views::as_rvalue
| std::ranges::to<std::vector>();
std::println("coll: {}", coll);
std::println("vec2: {}", vec2);
}