Namespaces
Variants

operator+,-(ranges::enumerate_view::iterator)

Von de.cppreference.net
 
 
Ranges-Bibliothek
Range-Adaptoren
 
 
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

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)