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) (depuis 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) (depuis C++20)

Compare un take_view :: /*sentinel*/ avec un std::counted_iterator (généralement obtenu par un appel à take_view::begin ).

Retourne true si y pointe au-delà du N ème élément (où N est le nombre passé au constructeur de take_view ), ou si la fin de la vue sous-jacente est atteinte.

Le modèle d'alias d'exposition uniquement /*add-const-if*/ est défini comme
template < bool C, class T >
using /*add-const-if*/ = std:: conditional_t < C, const T, T > ;
.

Ces fonctions ne sont pas visibles par la recherche non qualifiée ou qualifiée ordinaire, et ne peuvent être trouvées que par la recherche dépendante des arguments lorsque std::ranges::take_view:: sentinel <Const> est une classe associée des arguments.

L'opérateur != est synthétisé à partir de operator== .

Table des matières

Paramètres

y - std::counted_iterator à comparer
x - sentinelle à comparer

Valeur de retour

y. count ( ) == 0 || y. base ( ) == x. end_ , où end_ désigne le sentinelle sous-jacent.

Exemple

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR S'applique à Comportement publié Comportement corrigé
LWG 3449 C++20 la comparaison entre l'itérateur et le sentinelle de
take_view différemment qualifié par const n'était pas supportée
rendue supportée lorsque possible