Namespaces
Variants

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

Aus de.cppreference.net
 
 
Ranges-Bibliothek
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 eine take_view::/*sentinel*/ mit einer std::counted_iterator (typischerweise erhalten von einem Aufruf von take_view::begin).

Gibt true zurück, wenn y auf das N-te Element zeigt (wobei N die Zahl ist, die an den Konstruktor von take_view übergeben wurde), oder wenn das Ende der zugrunde liegenden Ansicht erreicht ist.

Das nur zur Darstellung dienende 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 gewöhnliche unqualifizierte oder qualifizierte Namenssuche nicht sichtbar und können nur durch argumentabhängige Namenssuche gefunden werden, wenn std::ranges::take_view::sentinel<Const> eine assoziierte Klasse der Argumente ist.

Der != Operator wird aus synthetisiert operator==.

Parameter

y - std::counted_iterator zu vergleichender Iterator
x - zu vergleichender Sentinel

Rückgabewert

y. count ( ) == 0 || y. base ( ) == x. end_ , wobei end_ den zugrundeliegenden Sentinel bezeichnet.

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 3449 C++20 Vergleich zwischen Iterator und Sentinel von
unterschiedlich const-qualifizierten take_view wurde nicht unterstützt
Unterstützung hinzugefügt, wenn möglich