Namespaces
Variants

std::ranges::cartesian_product_view<First, Vs...>:: iterator

From cppreference.net
Ranges library
Range adaptors
template < bool Const >
class /*iterator*/
(自 C++23 起)
( 仅用于说明* )

cartesian_product_view::begin 的返回类型,以及当底层视图 V common_range cartesian_product_view::end 的返回类型。

类型 /*iterator*/ < true > 由常量限定重载返回。类型 /*iterator*/ < false > 由非常量限定重载返回。

目录

成员类型

成员 定义
Parent (private) 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_ (private) 指向父对象 cartesian_product_view 的指针
( 仅用于说明的成员对象* )
current_ (private) 由指向当前底层元素的迭代器组成的元组,类型为 std:: tuple < ranges:: iterator_t < /*maybe-const*/ < Const, First >> ,
ranges:: iterator_t < /*maybe-const*/ < Const, Vs >> ... >
( 仅用于说明的成员对象* )

成员函数

构造迭代器
(公开成员函数)
访问元素
(公开成员函数)
通过索引访问元素
(公开成员函数)
前进或回退底层迭代器
(公开成员函数)
前进迭代器
( 仅用于说明的成员函数* )
回退迭代器
( 仅用于说明的成员函数* )
返回两个迭代器之间的距离
( 仅用于说明的成员函数* )

非成员函数

比较底层迭代器
(函数)
执行迭代器算术运算
(函数)
(C++23)
将底层迭代器解引用结果转换为其关联的右值引用类型
(函数)
(C++23)
交换底层指向的元素
(函数)

示例

参考文献

  • C++23 标准 (ISO/IEC 14882:2024):
  • 26.7.32.3 类模板 cartesian_product_view::iterator [range.cartesian.iterator]

参见