std::ranges::elements_view<V,N>::iterator
来自 cppreference.cn
< cpp | ranges | elements view
template< bool Const > class /*迭代器*/; |
(仅作说明*) | |
返回类型是 elements_view::begin
的返回类型,以及当底层视图是 common_range
时 elements_view::end
的返回类型。
/*iterator*/<true> 类型由 const 限定的重载返回。 /*iterator*/<false> 类型由非 const 限定的重载返回。
目录 |
[edit] 成员类型
成员类型 | 定义 |
Base (私有) |
如果 Const 为 true,则为 const V,否则为 V 。(仅供说明的成员类型*) |
iterator_concept
|
表示
|
iterator_category (有条件存在) |
如果 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> |
[edit] 数据成员
成员对象 | 定义 |
current_ (私有) |
类型为 ranges::iterator_t<Base> 的迭代器,指向底层序列的当前元素。 (仅用于阐释的成员对象*) |
[edit] 成员函数
构造一个迭代器 (公开成员函数) | |
返回底层迭代器 (公开成员函数) | |
访问第 N 个元组元素 (公开成员函数) | |
通过索引访问元素 (公开成员函数) | |
前进或后退底层迭代器 (public member function) |
[edit] 非成员函数
比较底层迭代器 (函数) | |
(C++20) |
进行迭代器算术 (函数) |
[edit] 缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 发布时的行为 | 正确的行为 |
---|---|---|---|
P2259R1 | C++20 | 成员 iterator_category 总是定义的 |
仅当 Base 遵循 forward_range 模型时才定义 |
LWG 3555 | C++20 | iterator_concept 的定义忽略了 const |
已考虑 |
[edit] 参阅
(C++20) |
当底层视图是 common_range 时,ranges::transform_view::begin 和 ranges::transform_view::end 的返回类型(private member class template) |