Namensräume
Varianten
Aktionen

std::ranges::cartesian_product_view<First, Vs...>::iterator<Const>::operator++,--,+=,-=

Von cppreference.com
 
 
Bereichsbibliothek
Range-Adaptoren
 
 
constexpr /*iterator*/& operator++();
(1) (seit C++23)
constexpr void operator++( int );
(2) (seit C++23)
constexpr /*iterator*/ operator++( int )
    requires ranges::forward_range</*maybe-const*/<Const, First>>;
(3) (seit C++23)
constexpr /*Iterator*/& operator--()
    requires /*cartesian-product-is-bidirectional*/<Const, First, Vs...>;
(4) (seit C++23)
constexpr /*Iterator*/ operator--( int )
    requires /*cartesian-product-is-bidirectional*/<Const, First, Vs...>;
(5) (seit C++23)
constexpr /*Iterator*/& operator+=( difference_type n )
    requires /*cartesian-product-is-random-access*/<Const, First, Vs...>;
(6) (seit C++23)
constexpr /*Iterator*/& operator-=( difference_type n )
    requires /*cartesian-product-is-random-access*/<Const, First, Vs...>;
(7) (seit C++23)

Inkrementiert oder dekrementiert den Iterator.

Sei current_ das zugrundeliegende Tupel von Iteratoren und parent_ der zugrundeliegende Zeiger auf cartesian_product_view.

1) Äquivalent zu next(); return *this;
2) Äquivalent zu ++*this;
3) Äquivalent zu auto tmp = *this; ++*this; return tmp;
4) Äquivalent zu prev(); return *this;
5) Äquivalent zu auto tmp = *this; --*this; return tmp;
6) Setzt den Wert von *this auf ret, wobei ret
  • wenn n > 0, der Wert von *this ist, nachdem next n mal aufgerufen wurde. Andernfalls,
  • wenn n < 0, der Wert von *this ist, nachdem prev -n mal aufgerufen wurde. Andernfalls,
  • der Wert von *this vor dem Aufruf.
Das Verhalten ist undefiniert, wenn n nicht im Bereich [ranges::distance(*this, ranges::begin(*parent_))ranges::distance(*this, ranges::end(*parent_))) liegt.
7) Äquivalent zu *this += -n; return *this;.

Inhalt

[edit] Parameter

n - Position relativ zur aktuellen Position

[edit] Rückgabewert

1,4,6,7) *this
2) (keiner)
3,5) eine Kopie von *this, die vor der Änderung erstellt wurde.

[edit] Komplexität

6) Konstant.

[edit] Beispiel

[edit] Siehe auch

führt Iterator-Arithmetik durch
(Funktion)