Namespaces
Variants

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

Depuis fr.cppreference.net
 
 
Bibliothèque de plages
Adaptateurs de plages
 
 
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).

Renvoie true si y pointe après le Ne é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 seule /*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 lors d'une recherche non qualifiée ou qualifiée ordinaire, et ne peuvent être trouvées que par 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==.

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