operator+,-(ranges::enumerate_view::iterator)
Von de.cppreference.net
friend constexpr /* iterator */
operator+( const /* iterator */& i, difference_type n )
requires ranges::random_access_range</* Base */>;
|
(1) | (seit C++23) |
friend constexpr /* iterator */
operator+( difference_type n, const /* iterator */& i )
requires ranges::random_access_range</* Base */>;
|
(2) | (seit C++23) |
friend constexpr /* iterator */
operator-( const /* iterator */& i, difference_type n )
requires ranges::random_access_range</* Base */>;
|
(3) | (seit C++23) |
friend constexpr difference_type
operator-( const /* iterator */& i, const /* iterator */& j ) noexcept;
|
(4) | (seit C++23) |
Führt Iterator-Arithmetik durch oder berechnet den Abstand.
pos_ ist der zugrunde liegende Index, und Base ist der (möglicherweise const-qualifizierte) Typ des 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 normale unqualifizierte oder qualifizierte Namenssuche nicht sichtbar und können nur durch argumentabhängige Namenssuche gefunden werden, wenn enumerate_view::iterator<Const> eine assoziierte Klasse der Argumente ist.
Parameter
| i, j | - | die Iteratoren |
| n | - | Position relativ zum aktuellen Standort |
Rückgabewert
1,2)
Ein inkrementierter Iterator.
3)
Ein dekrementierter Iterator.
4)
Ein Abstand zwischen gegebenen Iteratoren.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 3912 | C++23 | Überladung (4) war nicht noexcept | sie ist noexcept |
Siehe auch
|
erhöht oder verringert den zugrundeliegenden Iterator
(öffentliche Elementfunktion) |