template< bool Const > class /*iterator*/ | (since C++23) |
The return type of slide_view::begin, and of slide_view::end when the underlying view V is a common_range.
The type /*iterator*/<true> is returned by the const-qualified overloads. The type /*iterator*/<false> is returned by the non-const-qualified overloads.
The name of this class template (shown here as /*iterator*/) is unspecified.
Typical implementations of /*iterator*/ hold two or three non-static data members:
current_ of type ranges::iterator_t<Base>, which is the iterator to the first underlying element of the current window in slide_view; last_ele_ of type ranges::iterator_t<Base> (present only if Base models /*slide-caches-first*/), which is the iterator to the one-past-end underlying element of the current window in slide_view; n_ of type ranges::range_difference_t<Base>, which holds the window width of slide_view. These names are for exposition only.
| Member type | Definition |
|---|---|
Base (private) | const V if Const is true, otherwise V. The name is for exposition only. |
iterator_category | std::input_iterator_tag |
iterator_concept |
|
value_type | decltype(views::counted(current_, n_)) |
difference_type | ranges::range_difference_t<Base> |
|
(C++23) | constructs an iterator (public member function) |
|
(C++23) | accesses the element (public member function) |
|
(C++23) | accesses an element by index (public member function) |
|
(C++23) | advances or decrements the underlying iterators (public member function) |
|
(C++23) | compares the underlying iterators (function) |
|
(C++23) | performs iterator arithmetic (function) |
slide_view::iterator [range.slide.iterator]
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/slide_view/iterator