std::ranges::enumerate_view<V>::iterator
来自cppreference.com
< cpp | ranges | enumerate view
template< bool Const > class /*iterator*/ |
(C++23 起) | |
enumerate_view::begin
的返回类型,且是 enumerate_view::end
的返回类型若底层视图 V
是 common_range
。
对于 const-限定重载返回类型 /*iterator*/<true>。对非 const-限定重载返回类型 /*iterator*/<false>。
此类模板的名字 (这里表示为 /*iterator*/) 未指定。
数据成员
/*iterator*/ 的典型实现仅持有两个非静态数据成员:
-
current_
,其类型为 ranges::iterator_t<Base>,持有指向当前元素的迭代器; -
pos_
,其类型为difference_type
,持有当前的索引。
这些名字仅用于阐释。
成员类型
成员类型 | 定义 |
Base (private)
|
const V 若 Const 为 true,否则为 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) |
通过索引访问元素 (公开成员函数) |
增减底层迭代器 (公开成员函数) |
非成员函数
(C++23) |
比较底层迭代器 (函数) |
(C++23) |
执行迭代器算术运算 (函数) |
(C++23) |
将底层迭代器解引用结果的类型转换为它关联的右值引用类型 (函数) |
示例
本节未完成 原因:暂无示例 |
引用
- C++23 标准(ISO/IEC 14882:2023):
- 26.7.23.3 Class template
enumerate_view::iterator
[range.enumerate.iterator]
- 26.7.23.3 Class template