std::ranges...w::iterator(3)
π std::ranges::adjacent_transform_view::iterator π
okay bestie, welcome to the std::ranges::adjacent_transform_view::iterator page from the C++ Standard Library manual β¨ this one is niche but lowkey iconic, so let's get into it π
π NAME π
std::ranges::adjacent_transform_view::iterator β std::ranges::adjacent_transform_view::iterator
β¨ Synopsis β¨
template< bool Const > (since C++23)
class /*iterator*/ (exposition only*)
so this is the return type of adjacent_transform_view::begin, and also of adjacent_transform_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::adjacent_transform_view, ifConstis true. Otherwise,ranges::adjacent_transform_view. (exposition-only member type*)Base(private) βconst V, ifConstis true. Otherwise,V. (exposition-only member type*)iterator_categoryβ here's the whole vibe check:std::input_iterator_tag, ifstd::invoke_result_t</*maybe-const*/<Const, F>&, /*REPEAT*/(ranges::range_reference_t<Base>, N)...>is not a reference. Otherwise,- let
Cdenote the typestd::iterator_traits<iterator_t<Base>>::iterator_category.std::random_access_iterator_tag, ifstd::derived_from<C, std::random_access_iterator_tag>is true. Otherwise,std::bidirectional_iterator_tag, ifstd::derived_from<C, std::bidirectional_iterator_tag>is true. Otherwise,std::forward_iterator_tag, ifstd::derived_from<C, std::forward_iterator_tag>is true. Otherwise,std::input_iterator_tag.
iterator_conceptβtypename /*inner-iterator*/<Const>::iterator_concept;value_typeβstd::remove_cvref_t<std::invoke_result_t</*maybe-const*/<Const, F>&, /*REPEAT*/(ranges::range_reference_t<Base>, N)...>>;difference_typeβranges::range_difference_t<Base>
π¦ Data members π¦
parent_(private) β a pointer of typeParent*. (exposition-only member object*)inner_(private) β an iterator of typeinner_iterator. (exposition-only member object*)
πΈ Member functions πΈ
constructorβ constructs an iterator (C++23) (public member function)operator*β accesses the element (C++23) (public member function)operator[]β accesses an element by index (C++23) (public member function)operator++,operator++(int),operator--,operator--(int)β advances or decrements the underlying iterators (public member function)operator+=,operator-=β (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)
π Example π
This section is incomplete Reason: no example
no cap, we're all waiting on that example π«Ά
β References β
- C++23 standard (ISO/IEC 14882:2023):
- 26.7.27.3 Class template
adjacent_transform_view::iterator[range.adjacent_transform.iterator]
π See also π
π Category π
- Todo no example
and that's the whole page bestie π this cutie came from http://cppreference.com with the 2024.06.10 version/date β 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