elements_of — access specific elements from zip_view.
1#include <ranges>23std::vector<int> ids = {1, 2, 3};4std::vector<std::string> names = {"Alice", "Bob", "Charlie"};56// Zip ranges7auto zipped = std::views::zip(ids, names);89// Iterate10for (auto [id, name] : zipped) {11 std::cout << id << ": " << name << "\n";12}1314// Access elements15auto [first_id, first_name] = *zipped.begin();1617// Tuple access18std::cout << std::get<0>(*zipped.begin()); // 119std::cout << std::get<1>(*zipped.begin()); // Alice2021// Composable22auto result = std::views::zip(ids, names)23 | std::views::filter([](auto tuple) {24 auto [id, name] = tuple;25 return id > 1;26 });2728for (auto [id, name] : result) {29 std::cout << id << ": " << name << "\n";30}31// 2: Bob32// 3: Charlie3334// Zip with transform35auto combined = std::views::zip_transform(36 [](int id, std::string name) {37 return std::to_string(id) + ": " + name;38 },39 ids, names40);41// "1: Alice", "2: Bob", "3: Charlie"
Benefits: