Namespaces
Variants

std::ranges::stride_view<V>::iterator

来自 zh.cppreference.net
 
 
范围库
范围适配器
 
 
template< bool Const >
class /*iterator*/
(C++23 起)
(*仅用于阐述*)的返回类型

,以及当底层视图stride_view::begin是stride_view::endcommon_rangeV时的返回类型。 类型

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

成员类型

成员 定义
Parent (私有) maybe-const <Const, ranges::stride_view>
(仅用于阐述的成员类型*)
Base (私有) maybe-const <Const, V>
(仅用于阐述的成员类型*)
difference_type ranges::range_difference_t<Base>
value_type ranges::range_value_t<Base>
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概念时存在)
令C表示类型iterator_traits<iterator_t<Base>>::iterator_category。
  • std::random_access_iterator_tag,如果C满足std::derived_from<std::random_access_iterator_tag>概念。
  • C否则。

数据成员

成员 描述
ranges::iterator_t<Base> current_ (私有) 指向当前元素的迭代器
(仅用于阐释的成员对象*)
ranges::sentinel_t<Base> end_ (私有) 指向结尾的哨位
(仅用于阐释的成员对象*)
ranges::range_difference_t<Base> stride_ (私有) 步长
(仅用于阐释的成员对象*)
ranges::range_difference_t<Base> missing_ (私有) ranges::advance(current_, stride_, end_)
的结果(仅用于阐释的成员对象*)

成员函数

构造迭代器
(公开成员函数)
返回指向当前元素的迭代器
(公开成员函数)
访问元素
(公开成员函数)
通过索引访问元素
(公开成员函数)
前进或回退底层迭代器
(公开成员函数)

非成员函数

比较底层迭代器
(函数)
执行迭代器算术运算
(函数)
(C++23)
将底层迭代器解引用结果转换为其关联的右值引用类型
(函数)
(C++23)
交换底层指向的元素
(函数)

示例

参考文献

  • C++23 标准 (ISO/IEC 14882:2024):
  • 26.7.31.3 类模板 stride_view::iterator [range.stride.iterator]

参见