Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
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 einen take_view :: /*sentinel*/ mit einem std::counted_iterator (typischerweise erhalten durch einen Aufruf von take_view::begin ).

Gibt true zurück, falls y über das N te Element hinaus zeigt (wobei N der an den Konstruktor von take_view übergebene Wert ist), oder falls das Ende der zugrundeliegenden Ansicht erreicht wurde.

Der 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 gewöhnliche unqualified oder qualified lookup nicht sichtbar und können nur durch argument-dependent lookup gefunden werden, wenn std::ranges::take_view:: sentinel <Const> eine assoziierte Klasse der Argumente ist.

Der != -Operator wird synthetisiert aus operator== .

Inhaltsverzeichnis

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