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

From cppreference.com
< cpp‎ | ranges‎ | slide view‎ | iterator
 
 
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