std::ranges::elements_view<V,N>::迭代器
来自 cppreference.com
< cpp | ranges | elements view
template< bool Const > class /*迭代器*/; |
(仅供说明*) | |
elements_view::begin
的返回值类型,以及当基础视图为 common_range
时 elements_view::end
的返回值类型。
类型 /*迭代器*/<true> 由 const 限定的重载返回。类型 /*迭代器*/<false> 由非 const 限定的重载返回。
内容 |
[编辑] 成员类型
成员类型 | 定义 |
Base (private) |
const V 如果 Const 为 true,否则为 V 。(仅供说明的成员类型*) |
迭代器概念
|
表示
|
迭代器类别 (有条件地存在) |
未定义,如果 Base 不模仿 forward_range 。否则,
|
value_type
|
std::remove_cvref_t<std::tuple_element_t<N, ranges::range_value_t<Base>>> |
difference_type
|
ranges::range_difference_t<Base> |
[编辑] 数据成员
成员对象 | 定义 |
current_ (private) |
一个类型为 ranges::iterator_t<Base> 的迭代器,指向基础序列的当前元素。 (仅供说明的成员对象*) |
[编辑] 成员函数
构造一个迭代器 (公共成员函数) | |
返回底层迭代器 (公共成员函数) | |
访问第 N 个元组元素 (公共成员函数) | |
通过索引访问元素 (公共成员函数) | |
前进或后退底层迭代器 (公共成员函数) |
[编辑] 非成员函数
比较底层迭代器 (函数) | |
(C++20) |
执行迭代器算术运算 (函数) |
[编辑] 缺陷报告
以下行为更改缺陷报告已追溯应用于先前发布的 C++ 标准。
DR | 应用于 | 已发布的行为 | 正确行为 |
---|---|---|---|
P2259R1 | C++20 | 成员 iterator_category 始终定义 |
仅在 Base 模型 forward_range 时定义 |
LWG 3555 | C++20 | iterator_concept 的定义忽略 const |
使其考虑 |
[编辑] 另请参见
(C++20) |
ranges::transform_view::begin 的返回值类型,以及当底层视图为 common_range 时 ranges::transform_view::end 的返回值类型(私有成员类模板) |