std::ranges::slide_view<V>::iterator
From cppreference.com
< cpp | ranges | slide view
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.
Data members
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 inslide_view
; -
last_ele_
of type ranges::iterator_t<Base> (present only ifBase
models /*slide-caches-first*/), which is the iterator to the one-past-end underlying element of the current window inslide_view
; -
n_
of type ranges::range_difference_t<Base>, which holds the window width ofslide_view
.
These names are for exposition only.
Member types
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> |
Member functions
(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) |
advances or decrements the underlying iterators (public member function) |
Non-member functions
compares the underlying iterators (function) | |
(C++23) |
performs iterator arithmetic (function) |
Example
This section is incomplete Reason: no example |
References
- C++23 standard (ISO/IEC 14882:2023):
- 26.7.29.3 Class template
slide_view::iterator
[range.slide.iterator]
- 26.7.29.3 Class template