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

来自cppreference.com
 
 
范围库
范围访问
范围转换器
(C++23)
范围原语



悬垂迭代器处理
范围概念
视图

范围工厂
适配器
范围生成器
范围适配器对象
范围适配器闭包对象
辅助项
 
 
template< bool Const >
class /*iterator*/
(C++23 起)

enumerate_view::begin 的返回类型,且是 enumerate_view::end 的返回类型若底层视图 Vcommon_range

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

此类模板的名字 (这里表示为 /*iterator*/) 未指定。

数据成员

/*iterator*/ 的典型实现仅持有两个非静态数据成员:

  • current_,其类型为 ranges::iterator_t<Base>,持有指向当前元素的迭代器;
  • pos_,其类型为 difference_type,持有当前的索引。

这些名字仅用于阐释。

成员类型

成员类型 定义
Base (private) const VConsttrue,否则为 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 (private) std::tuple<difference_type, ranges::range_reference_t<Base>>。此名字仅用于阐释。

成员函数

构造迭代器
(公开成员函数)
(C++23)
返回指向当前元素的迭代器
(公开成员函数)
(C++23)
返回当前的索引
(公开成员函数)
(C++23)
访问元素
(公开成员函数)
通过索引访问元素
(公开成员函数)
增减底层迭代器
(公开成员函数)

非成员函数

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

示例

引用

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

参阅