operator+,-(ranges::elements_view::iterator)
Von cppreference.com
< cpp | ranges | elements view | iterator
| 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 ) |
(4) | (seit C++20) |
1,2) Gibt den Iterator i zurück, inkrementiert um n.
3) Gibt den Iterator i zurück, dekrementiert um n.
4) Gibt den Abstand zwischen x und y zurück.
Diese Funktionen sind für normale unqualifizierte oder qualifizierte Suche nicht sichtbar und können nur durch argumentabhängige Suche gefunden werden, wenn elements_view::iterator<Const> eine zugehörige Klasse der Argumente ist.
Inhalt |
[edit] Parameter
| i, x, y | - | die Iteratoren |
| n | - | Position relativ zur aktuellen Position |
[edit] Rückgabewert
1,2) [&]{ auto j = i; j += n; return j; }()
3) [&]{ auto j = i; j -= n; return j; }()
4) x.base() - y.base()
[edit] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein 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 3483 | C++20 | Der Unterschied von elements_view::iterator ist übermäßig eingeschränkt |
Anforderung wird gelockert |