命名空间
变体
操作

std::ranges::cartesian_product_view<First, Vs...>::迭代器

来自 cppreference.com
 
 
范围库
范围适配器
 
 
template< bool Const >
class /*iterator*/
(自 C++23 起)
(仅供说明*)

cartesian_product_view::begin 的返回值类型,以及当底层视图 Vcommon_range 时,cartesian_product_view::end 的返回值类型。

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

内容

[编辑] 成员类型

成员 定义
父级 (私有) maybe-const <Const, ranges::cartesian_product_view>>
(仅供说明成员类型*)
迭代器类别 std::input_iterator_tag
迭代器概念
值类型 std::tuple<ranges::range_value_t</*maybe-const*/<Const, First>>,
           ranges::range_value_t</*maybe-const*/<Const, Vs>>...>;
引用 std::tuple<ranges::range_reference_t</*maybe-const*/<Const, First>>,
           ranges::range_reference_t</*maybe-const*/<Const, Vs>>...>;
差分类型 一个实现定义的带符号整数型类型(可能是此类类型的最小类型),它足够宽以存储所有底层范围的最大尺寸的乘积,如果存在此类类型。

[编辑] 数据成员

成员 定义
父级* 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 标准 (ISO/IEC 14882:2024)
  • 26.7.32.3 类模板 cartesian_product_view::iterator [range.cartesian.iterator]

[编辑] 另请参阅