std::ranges::stride_view<V>::iterator
< cpp | ranges | stride view
|
template< bool Const >
class /*iterator*/ |
(since C++23) | |
The return type of stride_view::begin, and of stride_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 four non-static data members:
current_of type ranges::iterator_t<Base>, that holds an iterator to the current element,end_of type ranges::sentinel_t<Base>, that holds a sentinel to the end,stride_of type ranges::range_difference_t<Base>, that holds the stride value,missing_of type ranges::range_difference_t<Base>, that usually holds the result of ranges::advance(current_, stride_, end_).
These names are for exposition only.
Member types
| Member type | Definition |
Parent (private) |
const ranges::stride_view if Const is true, otherwise ranges::stride_view. The name is for exposition only. |
Base (private) |
const V if Const is true, otherwise V. The name is for exposition only. |
difference_type |
ranges::range_difference_t<Base> |
value_type |
ranges::range_value_t<Base> |
iterator_concept |
|
iterator_category |
Defined if and only if Base models forward_range.Let
|
Member functions
|
(C++23)
|
constructs an iterator (public member function) |
|
(C++23)
|
returns an iterator to current element (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 iterator (public member function) |
Non-member functions
| compares the underlying iterators (function) |
|
|
(C++23)
|
performs iterator arithmetic (function) |
|
(C++23)
|
casts the result of dereferencing the underlying iterator to its associated rvalue reference type (function) |
|
(C++23)
|
swaps underlying pointed-to elements (function) |
Example
| This section is incomplete Reason: no example |
References
- C++23 standard (ISO/IEC 14882:2023):
-
- 26.7.31.3 Class template
stride_view::iterator[range.stride.iterator]
- 26.7.31.3 Class template