< cpp‎ | ranges‎ | stride view
Ranges library
Range access
Range conversions

Range primitives

Dangling iterator handling
Range concepts

Range factories
Range adaptors
Range generators
Range adaptor objects
Range adaptor closure objects
Helper items
(until C++23)(C++23)

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.


[edit] Member types

Member type Definition
Parent (private) const ranges::stride_view if Const is true, otherwise ranges::stride_view.
(exposition-only member type*)
Base (private) const V if Const is true, otherwise V.
(exposition-only member type*)
difference_type ranges::range_difference_t<Base>
value_type ranges::range_value_t<Base>
iterator_category Defined if and only if Base models forward_range.

Let C denote the type iterator_traits<iterator_t<Base>>::iterator_category. Then:

[edit] 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*)

[edit] 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) [edit]

[edit] Non-member functions

compares the underlying iterators
performs iterator arithmetic
casts the result of dereferencing the underlying iterator to its associated rvalue reference type
swaps underlying pointed-to elements

[edit] Example

[edit] References

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

[edit] See also