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 )

требует 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 )

требует ( ! /*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 )

требует /*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 - an /*iterator*/ < false >
current - итератор на текущий элемент slide_view
last_ele - итератор на последний элемент slide_view
n - ширина скользящего окна slide_view

Пример