operator+,-(ranges::transform_view::iterator)
Aus de.cppreference.net
friend constexpr /*iterator*/ operator+( /*iterator*/ i, difference_type n )
requires ranges::random_access_range<Base>;
|
(1) | (seit C++20) |
friend constexpr /*iterator*/ operator+( difference_type n, /*iterator*/ i )
requires ranges::random_access_range<Base>;
|
(2) | (seit C++20) |
friend constexpr /*iterator*/ operator-( /*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 den Abstand zwischen
x und y zurück.Diese Funktionen sind nicht für die gewöhnliche unqualifizierte oder qualifizierte Namenssuche sichtbar und können nur durch argumentabhängige Namenssuche gefunden werden, wenn transform_view::iterator<Const> eine assoziierte Klasse der Argumente ist.
Parameter
| i, x, y | - | die Iteratoren. |
| n | - | Position relativ zum aktuellen Standort. |
Rückgabewert
Sei
parent_
der Zeiger auf das übergeordnete
transform_view
,
current_
den zugrundeliegenden Iterator.
1,2)
/*iterator*/
{
*
i.
parent_
, i.
current_
+
n
}
3)
/*iterator*/
{
*
i.
parent_
, i.
current_
-
n
}
4)
x.
current_
-
y.
current_
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 3483 | C++20 |
transform_view::iterator
's Differenz ist überbeschränkt
|
Anforderung wurde gelockert |