std::ranges::enumerate_view<V>::iterator

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

enumerate_view::begin 的返回类型,并且在底层视图 Vcommon_range 时也是 enumerate_view::end 的返回类型。

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

成员类型

成员类型 定义
Base (私有) Consttrue 时是 const V,否则是 V
(仅用于阐述的成员类型*)
iterator_category std::input_iterator_tag
iterator_concept
difference_type ranges::range_difference_t<Base>
value_type std::tuple<difference_type, ranges::range_value_t<Base>>
reference-type (私有) std::tuple<difference_type, ranges::range_reference_t<Base>>
(仅用于阐述的成员类型*)

数据成员

成员名字 定义
current_ (私有) 指向当前元素的 ranges::iterator_t<Base> 类型的迭代器
(仅用于阐述的成员对象*)
pos_ (私有) 类型是 difference_type 的当前索引
(仅用于阐述的成员对象*)

成员函数

构造迭代器
(公开成员函数)
返回指向当前元素的迭代器
(公开成员函数)
返回当前的索引
(公开成员函数)
访问元素
(公开成员函数)
通过索引访问元素
(公开成员函数)
推进或减小底层迭代器
(公开成员函数)

非成员函数

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

示例

引用

  • C++23 标准(ISO/IEC 14882:2024):
  • 26.7.23.3 Class template enumerate_view::iterator [range.enumerate.iterator]