operator+,-(ranges::enumerate_view::iterator)
Von cppreference.com
< cpp | ranges | enumerate view | iterator
| friend constexpr /* iterator */ operator+( const /* iterator */& i, difference_type n ) |
(1) | (seit C++23) |
| friend constexpr /* iterator */ operator+( difference_type n, const /* iterator */& i ) |
(2) | (seit C++23) |
| friend constexpr /* iterator */ operator-( const /* iterator */& i, difference_type n ) |
(3) | (seit C++23) |
| friend constexpr difference_type operator-( const /* iterator */& i, const /* iterator */& j ) noexcept; |
(4) | (seit C++23) |
Führt Iterator-Arithmetik aus oder berechnet den Abstand.
pos_ ist der zugrunde liegende Index und Base ist der (möglicherweise const-qualifizierte) Typ der zugrunde liegenden View.
Äquivalent zu
1) auto temp = i; temp += n; return temp;
2) return i + n;
3) auto temp = i; temp -= n; return temp;
4) return i.pos_ - j.pos_;
Diese Funktionen sind für die normale nicht-qualifizierte oder qualifizierte Suche nicht sichtbar und können nur durch argumentabhängige Suche gefunden werden, wenn enumerate_view::iterator<Const> eine assoziierte Klasse der Argumente ist.
Inhalt |
[edit] Parameter
| i, j | - | die Iteratoren |
| n | - | Position relativ zur aktuellen Position |
[edit] Rückgabewert
1,2) Ein erhöhter Iterator.
3) Ein verringerter Iterator.
4) Ein Abstand zwischen den gegebenen Iteratoren.
[edit] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[edit] Fehlerberichte
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 3912 | C++23 | Überladung (4) war nicht noexcept | Sie ist noexcept |
[edit] Siehe auch
| bewegt den zugrundeliegenden Iterator vorwärts oder rückwärts (public member function) |