Namespaces
Variants

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

从 zh.cppreference.net
 
 
范围库
范围适配器
 
 
template< bool Const >
class /*iterator*/;
(仅用于阐释*)

elements_view::begin的返回类型,以及当底层视图为elements_view::endcommon_range时

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

成员类型

成员 定义
Base (私有) maybe-const <Const, V>
(仅用于阐述的成员类型*)
iterator_concept 表示:
  • std::random_access_iterator_tag,如果 Base 满足 random_access_range。否则,
  • std::bidirectional_iterator_tag,如果 Base 满足 bidirectional_range。否则,
  • std::forward_iterator_tag,如果 Base 满足 forward_range。否则,
  • std::input_iterator_tag。
iterator_category
(有条件提供)
未定义,如果 Base 不满足 forward_range。否则,
  • std::input_iterator_tag,如果 std::get<N>(*current_) 是右值。否则,令 C 为类型 std::iterator_traits<std::iterator_t<Base>>::iterator_category。
  • std::random_access_iterator_tag,如果 C 满足 std::derived_from<std::random_access_iterator_tag>。否则,
  • C。
value_type std::remove_cvref_t<std::tuple_element_t<N, ranges::range_value_t<Base>>>
difference_type ranges::range_difference_t<Base>

数据成员

成员 描述
ranges::iterator_t<Base> current_ (私有) 指向底层序列当前元素的迭代器
(仅用于阐释的成员对象*)

成员函数

构造迭代器
(公开成员函数)
返回底层迭代器
(公开成员函数)
访问第 N th 个元组元素
(公开成员函数)
通过索引访问元素
(公开成员函数)
前进或回退底层迭代器
(公开成员函数)

非成员函数

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

缺陷报告

下列行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。

缺陷报告 应用于 发布时的行为 正确行为
P2259R1 C++20 成员 iterator_category 始终被定义 仅当 Base 满足 forward_range 概念时定义
LWG 3555 C++20 iterator_concept 的定义忽略 const 限定 修改为考虑 const 限定

参见

(C++20)
ranges::transform_view::begin 的返回类型,以及当底层视图为 common_range 时 ranges::transform_view::end 的返回类型
(私有成员类模板)