operator==(std::ranges::take_view::sentinel<Const>)
| friend constexpr bool operator==( const std::counted_iterator<ranges::iterator_t<Base>>& y, |
(1) | (seit C++20) |
| template< bool OtherC = !Const > requires std::sentinel_for<ranges::sentinel_t<Base>, |
(2) | (seit C++20) |
Vergleicht ein take_view::/*sentinel*/ mit einem std::counted_iterator (typischerweise erhalten aus einem Aufruf von take_view::begin).
Gibt true zurück, wenn y auf ein Element nach dem N-ten Element zeigt (wobei N die dem Konstruktor von take_view übergebene Zahl ist), oder wenn das Ende der zugrundeliegenden Ansicht erreicht ist.
Das expositions-nur Alias-Template /*add-const-if*/ ist definiert als
template<bool C, class T>
using /*add-const-if*/ = std::conditional_t<C, const T, T>;.
Diese Funktionen sind für die normale unqualifizierte oder qualifizierte Suche nicht sichtbar und können nur durch argumentabhängige Suche gefunden werden, wenn std::ranges::take_view::sentinel<Const> eine assoziierte Klasse der Argumente ist.
Der Operator != wird aus operator== synthetisiert.
Inhalt |
[bearbeiten] Parameter
| y | - | std::counted_iterator zum Vergleichen |
| x | - | Sentinel zum Vergleichen |
[bearbeiten] Rückgabewert
y.count() == 0 || y.base() == x.end_, wobei end_ den zugrundeliegenden Sentinel bezeichnet.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] 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 3449 | C++20 | Vergleich zwischen Iterator und Sentinel von unterschiedlich const-qualifizierten take_view wurde nicht unterstützt |
wurde nach Möglichkeit unterstützt gemacht |