Namensräume
Varianten
Aktionen

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

Von cppreference.com
 
 
Bereichsbibliothek
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 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

[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) [edit]