命名空间
变体
操作

std::ranges::elements_view<V,N>::iterator

来自 cppreference.cn
 
 
范围库 (Ranges library)
范围适配器 (Range adaptors)
 
 
template< bool Const >
class /*迭代器*/;
(仅作说明*)

返回类型是 elements_view::begin 的返回类型,以及当底层视图是 common_rangeelements_view::end 的返回类型。

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

目录

[edit] 成员类型

成员类型 定义
Base (私有) 如果 Consttrue,则为 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]

[edit] 非成员函数

比较底层迭代器
(函数)
进行迭代器算术
(函数)

[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::beginranges::transform_view::end 的返回类型
(private member class template) [edit]