std::ranges::stride_view<V>::iterator

From cppreference.com
< cpp‎ | ranges‎ | stride view
 
 
Ranges library
Range adaptors
 
 
template< bool Const >
class /*iterator*/
(since C++23)
(exposition only*)

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.

Member types

Member type Definition
Parent (private) maybe-const <Const, ranges::stride_view>
(exposition-only member type*)
Base (private) maybe-const <Const, V>
(exposition-only member type*)
difference_type ranges::range_difference_t<Base>
value_type ranges::range_value_t<Base>
iterator_concept
iterator_category
(present only if Base models
forward_range)
Let C denote the type iterator_traits<iterator_t<Base>>::iterator_category.

Data members

Member object Definition
current_ (private) ranges::iterator_t<Base>, holds an iterator to the current element.
(exposition-only member object*)
end_ (private) ranges::sentinel_t<Base>, holds a sentinel to the end.
(exposition-only member object*)
stride_ (private) ranges::range_difference_t<Base>, holds the stride value.
(exposition-only member object*)
missing_ (private) ranges::range_difference_t<Base>, usually holds the result of ranges::advance(current_, stride_, end_).
(exposition-only member object*)

Member functions

constructs an iterator
(public member function)
returns an iterator to current element
(public member function)
accesses the element
(public member function)
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)
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

References

  • C++23 standard (ISO/IEC 14882:2024):
  • 26.7.31.3 Class template stride_view::iterator [range.stride.iterator]

See also