zip_view() = default; // (1) C++23
constexpr explicit
zip_view(Views... views); // (2) C++23
概要
- (1) : デフォルトコンストラクタ
- (2) : zipする各Rangeを受け取るコンストラクタ
効果
- (1) :
views_
をデフォルト構築する - (2) :
views_
をstd::move(views)...
で初期化する
例
#include <ranges>
#include <vector>
#include <list>
#include <iostream>
int main() {
// (1) デフォルトコンストラクタ
std::ranges::zip_view<std::ranges::empty_view<int>, std::ranges::empty_view<char>> zv1;
// (2) 各Rangeを受け取るコンストラクタ
std::vector<int> v = {1, 2, 3};
std::list<char> l = {'a', 'b', 'c', 'd'};
std::ranges::zip_view zv2(v, l);
for (auto [n, c] : zv2) {
std::cout << n << ", " << c << std::endl;
}
}
出力
1, a
2, b
3, c
バージョン
言語
- C++23
処理系
- Clang: 16.0 ✅
- GCC: 13.2 ✅
- Visual C++: 2022 Update 5 ✅