Namensräume
Varianten
Aktionen

operator==(std::ranges::take_view::sentinel<Const>)

Von cppreference.com
< cpp‎ | ranges‎ | take view‎ | sentinel
 
 
Bereichsbibliothek
Range-Adaptoren
 
 
friend constexpr bool

    operator==( const std::counted_iterator<ranges::iterator_t<Base>>& y,

                const /*sentinel*/& x );
(1) (seit C++20)
template< bool OtherC = !Const >

    requires std::sentinel_for<ranges::sentinel_t<Base>,
                               ranges::iterator_t</*add-const-if*/<OtherC, V>>>
friend constexpr bool
    operator==( const std::counted_iterator<
                          ranges::iterator_t</*add-const-if*/<OtherC, V>>>& y,

                const /*sentinel*/& x );
(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

[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