std::ranges::cartesian_product_view<First, Vs...>::iterator
来自cppreference.com
< cpp | ranges | cartesian product view
template< bool Const > class /*iterator*/ |
(C++23 起) (仅用于阐述*) |
|
cartesian_product_view::begin
的返回类型,且若底层视图 V
是 common_range
时为 cartesian_product_view::end
的返回类型。
const 限定的重载所返回类型 /*iterator*/<true>。无 const 限定的重载所返回类型 /*iterator*/<false>。
成员类型
成员 | 定义 |
Parent (私有)
|
maybe-const <Const, ranges::cartesian_product_view>>(仅用于阐述的成员类型*) |
iterator_category
|
std::input_iterator_tag |
iterator_concept
|
|
value_type
|
std::tuple<ranges::range_value_t</*maybe-const*/<Const, First>>, ranges::range_value_t</*maybe-const*/<Const, Vs>>...>; |
reference
|
std::tuple<ranges::range_reference_t</*maybe-const*/<Const, First>>, ranges::range_reference_t</*maybe-const*/<Const, Vs>>...>; |
difference_type
|
实现定义的有符号整数式类型。可能是宽度足以储存所有底层范围最大值的乘积的(可能最小的)有符号整数类型(如果存在这种类型的话)。 |
数据成员
成员 | 定义 |
Parent* parent_ (私有)
|
指向父对象 cartesian_product_view 的指针(仅用于阐述的成员对象*) |
current_ (私有)
|
指向当前底层元素的迭代器构成的元组,其类型为 std::tuple<ranges::iterator_t</*maybe-const*/<Const, First>>, ranges::iterator_t</*maybe-const*/<Const, Vs>>...> (仅用于阐述的成员对象*) |
成员函数
构造迭代器 (公开成员函数) | |
访问元素 (公开成员函数) | |
通过索引访问元素 (公开成员函数) | |
推进或减小底层迭代器 (公开成员函数) | |
推进迭代器 (仅用于阐述的成员函数*) | |
减少迭代器 (仅用于阐述的成员函数*) | |
返回两个迭代器间的距离 (仅用于阐述的成员函数*) |
非成员函数
(C++23) |
比较底层迭代器 (函数) |
(C++23) |
执行迭代器算术运算 (函数) |
(C++23) |
将底层迭代器解引用结果的类型转换为它关联的右值引用类型 (函数) |
(C++23) |
交换底层迭代器所指代的元素 (函数) |
示例
本节未完成 原因:暂无示例 |
引用
- C++23 标准(ISO/IEC 14882:2024):
- 26.7.32.3 Class template
cartesian_product_view::iterator
[range.cartesian.iterator]
- 26.7.32.3 Class template