operator+,-(ranges::elements_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++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
|
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 |
elements_view::iterator
's Differenz ist überbeschränkt
|
Anforderung wurde gelockert |