std::ranges...++,--,+=,-=(3)
π¦ NAME π¦
okay so bestie, welcome to the manual page for std::ranges...++,--,+=,-=(3) from the C++ Standard Libary manual π
β¨ and the NAME is literally std::ranges::zip_view::iterator::operator++,--,+=,-= β yes, and then it says std::ranges::zip_view::iterator::operator++,--,+=,-= again, because one extremely long name clearly wasnβt enough π.
β¨ Synopsis β¨
hereβs the whole synopsis, no cap β every single one of these is constexpr and every single one is (since C++23) π:
constexpr /*iterator*/& operator++(); (1) (since C++23)
constexpr void operator++( int ); (2) (since C++23)
constexpr /*iterator*/ operator++( int ) (3) (since C++23)
requires /*all-forward*/<Const, Views...>;
constexpr /*iterator*/& operator--() (4) (since C++23)
requires /*all-bidirectional*/<Const, Views...>;
constexpr /*iterator*/ operator--( int ) (5) (since C++23)
requires /*all-bidirectional*/<Const, Views...>;
constexpr /*iterator*/& operator+=( difference_type n ) (6) (since C++23)
requires /*all-random-access*/<Const, Views...>;
constexpr /*iterator*/& operator-=( difference_type n ) (7) (since C++23)
requires /*all-random-access*/<Const, Views...>;
The vibe check: it increments or decrements each of the underlying is_... iterators in the underlying tuple-like object current_ π.
(1)β equivalent to/*tuple-for-each*/([](auto& i) { ++i; }, current_); return *this;(2)β equivalent to++*this;(3)β equivalent toauto tmp = *this; ++*this; return tmp;(4)β equivalent to/*tuple-for-each*/([](auto& i) { --i; }, current_); return *this;(5)β equivalent toauto tmp = *this; --*this; return tmp;(6)β equivalent to/*tuple-for-each*/([&]<class I>(I& i) { i += iter_difference_t<I>(x); }, current_); return *this;(7)β equivalent to/*tuple-for-each*/([&]<class I>(I& i) { i -= iter_difference_t<I>(x); }, current_); return *this;
π Parameters π
nβ position relative to current location β¨
π Return value π
(1),(4),(6),(7)β*this(2)β(none)(3),(5)β a copy of*thisthat was made before the change π«Ά
πΈ Example πΈ
This section is incomplete π«
Reason: no example
π Category π
- Todo no example
byeee bestie π this page is from http://cppreference.com, version/date 2024.06.10, and the footer tag is std::ranges...++,--,+=,-=(3) π¦β¨
π¦ 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