Namespaces
Variants

std::ranges::slide_view<V>:: iterator <Const>:: iterator

From cppreference.net
Ranges library
Range adaptors
/*iterator*/ ( ) ;
(1) (C++23 起)
constexpr /*iterator*/ ( /*iterator*/ < ! Const > i )

requires Const &&

std:: convertible_to < ranges:: iterator_t < V > , ranges:: iterator_t < Base >>
(2) (C++23 起)
private :

constexpr /*iterator*/ ( ranges:: iterator_t < Base > current,
ranges:: range_difference_t < Base > n )

requires ( ! /*slide-caches-first*/ < Base > ) ;
(3) ( 仅用于说明* )
private :

constexpr /*iterator*/ ( ranges:: iterator_t < Base > current,
ranges:: iterator_t < Base > last_ele,
ranges:: range_difference_t < Base > n )

requires /*slide-caches-first*/ < Base > ;
(4) ( 仅用于说明* )

构造一个迭代器。

1) 默认构造函数。 值初始化 底层数据成员:
2) /*iterator*/ < false > /*iterator*/ < true > 的转换。初始化底层数据成员: 注意 /*iterator*/ < true > 仅当 Base 满足 /*slide-caches-nothing*/ 概念时才能构造,此时 last_ele_ 不存在。
3) 一个私有构造函数,由 ranges::slide_view::begin ranges::slide_view::end 使用。该构造函数对用户不可访问。初始化底层数据成员: 注意此重载仅当 last_ele_ 不存在时才会出现。
4) 一个私有构造函数,由 ranges::slide_view::begin ranges::slide_view::end 使用。该构造函数对用户不可访问。初始化底层数据成员:
  • 使用 current 初始化 current_
  • 使用 last_ele 初始化 last_ele_ (注意该数据成员因 /*slide-caches-first*/ < Base > 要求而存在),
  • 使用 n 初始化 n_

参数

i - 一个 /*iterator*/ < false >
current - 指向 slide_view 当前元素的迭代器
last_ele - 指向 slide_view 末尾元素的迭代器
n - slide_view 的滑动窗口宽度

示例