std::ranges...w::iterator(3)
β¨ std::ranges::stride_view::iterator (3) β¨
okay so this is the std::ranges::stride_view::iterator page from the C++ Standard Libary manual, section 3 β yes bestie, Libary, we keep it iconic. π
πΈ NAME πΈ
std::ranges::stride_view::iterator β std::ranges::stride_view::iterator. Literally the name is the name, no cap. π
β¨ Synopsis β¨
Here's the signature, and it is giving template energy:
template< bool Const > (since C++23)
class /*iterator*/ (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 π§
Parent(private) βconst ranges::stride_viewifConstistrue, otherwiseranges::stride_view. (exposition-only member type*)Base(private) βconst VifConstistrue, otherwiseV. (exposition-only member type*)difference_typeβranges::range_difference_t<Base>value_typeβranges::range_value_t<Base>iterator_conceptβ the whole vibe check is:std::random_access_iterator_tag, ifBasemodelsrandom_access_range. Otherwise,std::bidirectional_iterator_tag, ifBasemodelsbidirectional_range. Otherwise,std::forward_iterator_tag, ifBasemodelsforward_range. Otherwise,std::input_iterator_tag.
Defined if and only if Base models forward_range.
iterator_categoryβ letCdenote the typeiterator_traits<iterator_t<Base>>::iterator_category. Then:std::random_access_iterator_tag, ifCmodelsstd::derived_from<std::random_access_iterator_tag>. Otherwise,C.
π Data members π
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 ofranges::advance(current_, stride_, end_). (exposition-only member object*)
π Member functions π
constructor(C++23) β constructs an iterator (public member function)base(C++23) β returns an iterator to current element (public member function)operator*(C++23) β accesses the element (public member function)operator[](C++23) β accesses an element by index (public member function)operator++,operator++(int),operator--,operator--(int),operator+=,operator-=β advances or decrements the underlying iterator (public member function) (C++23)
π₯ Non-member functions π₯
operator==,operator<,operator>,operator<=,operator>=,operator<=>β compares the underlying iterators (function) (C++23)operator+,operator-β performs iterator arithmetic (function) (C++23)iter_move(C++23) β casts the result of dereferencing the underlying iterator to its associated rvalue reference type (function)iter_swap(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]
π See also π
Category:
- Todo no example
mwah π that's the whole page, served fresh from source http://cppreference.com, version/date 2024.06.10, page std::ranges...w::iterator(3). periodt π«Ά
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms