Namespaces
Variants

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

Von de.cppreference.net
 
 
Ranges-Bibliothek
Bereichsadapter
 
 
friend constexpr /*iterator*/ operator+( const /*iterator*/& i, difference_type n )
    requires ranges::random_access_range<Base>;
(1) (seit C++20)
friend constexpr /*iterator*/ operator+( difference_type n, const /*iterator*/& i )
    requires ranges::random_access_range<Base>;
(2) (seit C++20)
friend constexpr /*iterator*/ operator-( const /*iterator*/& i, difference_type n )
    requires ranges::random_access_range<Base>;
(3) (seit C++20)
friend constexpr difference_type operator-( const /*iterator*/& x,
                                            const /*iterator*/& y )
    requires std::sized_sentinel_for<ranges::iterator_t<Base>, ranges::iterator_t<Base>>;
(4) (seit C++20)
1,2) Gibt den Iterator i erhöht um n zurück.
3) Gibt den Iterator i verringert um n zurück.
4) Gibt die Distanz zwischen x und y zurück.

Diese Funktionen sind nicht über normale unqualifizierte oder qualifizierte Namenssuche sichtbar und können nur durch argumentabhängige Namenssuche gefunden werden, wenn elements_view::iterator<Const> eine assoziierte Klasse der Argumente ist.

Parameter

i, x, y - die Iteratoren
n - Position relativ zum aktuellen Ort

Rückgabewert

1,2) [ & ] { auto j = i ; j + = n ; return j ; } ( )
3) [ & ] { auto j = i ; j - = n ; return j ; } ( )
4) x. base ( ) - y. base ( )

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 3483 C++20 elements_view::iterator 's Differenz ist überbeschränkt Anforderung wurde gelockert