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

来自cppreference.com
 
 
范围库
范围适配器
 
 
template< bool Const >
class /*iterator*/
(C++23 起)
(仅用于阐述*)

cartesian_product_view::begin 的返回类型,且若底层视图 Vcommon_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
  • std::random_access_iterator_tag,若实现 /*cartesian-product-is-random-access*/<Const, First, Vs...>
  • std::bidirectional_iterator_tag,若实现 /*cartesian-product-is-bidirectional*/<Const, First, Vs...>
  • std::forward_iterator_tag,若 maybe-const <Const, First> 实现 forward_range
  • 否则是 std::input_iterator_tag
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 最小的 signed-integer-like 类型(如果存在),其宽度足以储存所有底层范围最大大小的乘积

数据成员

成员 描述
Parent* parent_ (私有) 指向父对象 cartesian_product_view 的指针
(仅用于阐述的成员对象*)
std::tuple<ranges::iterator_t</*maybe-const*/<Const, First>>,

          ranges::iterator_t</*maybe-const*/<Const, Vs>>...>
     current_ (私有)

指向当前底层元素的迭代器构成的元组
(仅用于阐述的成员对象*)

成员函数

构造迭代器
(公开成员函数)
访问元素
(公开成员函数)
通过索引访问元素
(公开成员函数)
推进或减小底层迭代器
(公开成员函数) [编辑]
推进迭代器
(仅用于阐述的成员函数*)
减少迭代器
(仅用于阐述的成员函数*)
返回两个迭代器间的距离
(仅用于阐述的成员函数*)

非成员函数

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

示例

引用

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

参阅

Morty Proxy This is a proxified and sanitized view of the page, visit original site.