std::ranges::zip_view::iterator::operator++,--,+=,-=(3)

NAME
std::ranges::zip_view::iterator::operator++,--,+=,-= - std::ranges::zip_view::iterator::operator++,--,+=,-=

Synopsis
   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...>;
   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 to auto tmp = *this; ++*this; return tmp;
   4) Equivalent to /*tuple-for-each*/([](auto& i) { --i; }, current_); return *this;
   5) Equivalent to auto 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 *this that was made before the change

Example
    This section is incomplete
    Reason: no example

Category:
     * Todo no example