◐ Shell
clean mode source ↗

std::ranges::slide_view<V>::iterator<Const>::iterator - cppreference.com

From cppreference.com

/*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:

  • current_ with ranges::iterator_t<Base>(),
  • last_ele_ with ranges::iterator_t<Base>() (note that this member may not be present),
  • n_ with 0.

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