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

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

requires Const &&

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

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

requires ( ! /*slide-caches-first*/ < Base > ) ;
(3) ( exposition only* )
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) ( exposition only* )

Construct an iterator.

1) Default constructor. Value-initializes the underlying data members:
2) Conversion from /*iterator*/ < false > to /*iterator*/ < true > . Initializes the underlying data members: Note that /*iterator*/ < true > can only be formed when Base models /*slide-caches-nothing*/ , in which case last_ele_ is not present.
3) A private constructor which is used by ranges::slide_view::begin and ranges::slide_view::end . This constructor is not accessible to users. Initializes the underlying data members: Note that this overload can only be present if last_ele_ is not present.
4) A private constructor which is used by ranges::slide_view::begin and ranges::slide_view::end . This constructor is not accessible to users. Initializes the underlying data members:
  • current_ with current ,
  • last_ele_ with last_ele (note that this data member is present due to /*slide-caches-first*/ < Base > requirement),
  • n_ with n .

Parameters

i - an /*iterator*/ < false >
current - an iterator to current element of slide_view
last_ele - an iterator to last element of slide_view
n - the slide window width of slide_view

Example