命名空间
变体
操作

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

来自 cppreference.cn
 
 
范围库
范围适配器
 
 
template< bool Const >
class /*iterator*/
(since C++23)
(仅为说明目的*)

enumerate_view::beginenumerate_view::end 在底层视图 Vcommon_range 时的返回类型。

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

内容

[编辑] 成员类型

成员类型 定义
Base (私有) const V 如果 Consttrue,否则为 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 类模板 enumerate_view::iterator [range.enumerate.iterator]