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

From cppreference.com
< cpp‎ | ranges‎ | slide view‎ | iterator

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

- `current_` with std::`move`(i.current_),
- `n_` with i.n_.

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:

- `current_` with current,
- `n_` with n.

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

| This section is incomplete Reason: no example

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/ranges/slide_view/iterator/iterator&oldid=156089"