std::ranges::cartesian_product_view<First, Vs...>::iterator<Const>::operator++,--,+=,-=
From cppreference.com
constexpr /*iterator*/& operator++();
|
(1) | (since C++23) |
constexpr void operator++( int );
|
(2) | (since C++23) |
constexpr /*iterator*/ operator++( int )
requires ranges::forward_range</*maybe-const*/<Const, First>>;
|
(3) | (since C++23) |
constexpr /*iterator*/& operator--()
requires /*cartesian-product-is-bidirectional*/<Const, First, Vs...>;
|
(4) | (since C++23) |
constexpr /*iterator*/ operator--( int )
requires /*cartesian-product-is-bidirectional*/<Const, First, Vs...>;
|
(5) | (since C++23) |
constexpr /*iterator*/& operator+=( difference_type n )
requires /*cartesian-product-is-random-access*/<Const, First, Vs...>;
|
(6) | (since C++23) |
constexpr /*iterator*/& operator-=( difference_type n )
requires /*cartesian-product-is-random-access*/<Const, First, Vs...>;
|
(7) | (since C++23) |
Increments or decrements the iterator.
Let current_ denote the underlying tuple of iterators and parent_ denote the underlying pointer to cartesian_product_view.
1) Equivalent to
next(); return *this;2) Equivalent to
++*this;3) Equivalent to
auto tmp = *this; ++*this; return tmp;4) Equivalent to
prev(); return *this;5) Equivalent to
auto tmp = *this; --*this; return tmp;6) Sets the value of
*this to ret, where ret is:
- if
n > 0, the value of*thisprovided thatnextbeen calledntimes. Otherwise, - if
n < 0, the value of*thisprovided thatprevbeen called-ntimes. Otherwise, - the value of
*thisbefore the call.
n is not in the range [ranges::distance(*this, ranges::begin(*parent_)), ranges::distance(*this, ranges::end(*parent_))).7) Equivalent to
*this += -n; return *this;.Parameters
| n | - | position relative to current location |
Return value
1,4,6,7)
*this2) (none)
3,5) a copy of
*this that was made before the change.Complexity
6) Constant.
Example
| This section is incomplete Reason: no example |
See also
(C++23) |
performs iterator arithmetic (function) |