Namespaces
Variants

operator==,<=>(ranges::cartesian_product_view::iterator)

Depuis fr.cppreference.net
 
 
Bibliothèque de plages
Adaptateurs de plage
 
 
friend constexpr bool operator==( const /*iterator*/& x, const /*iterator*/& y )
    requires std::equality_comparable<ranges::iterator_t</*maybe-const*/<Const, First>>>;
(1) (depuis C++23)
friend constexpr bool operator==( const /*iterator*/& x, std::default_sentinel_t );
(2) (depuis C++23)
friend constexpr auto operator<=>( const /*iterator*/& x, const /*iterator*/& y )
    requires /*all-random-access*/<Const, First, Vs...>;
(2) (depuis C++23)

Compare deux itérateurs ou un itérateur et une sentinelle.

Soit current_ le tuple sous-jacent d'itérateurs.

1) Équivalent à : return x.current_ == y.current_;
2) Renvoie true si std::get<i>(x.current_) == ranges::end(std::get<i>(x.parent_->bases_)) est true pour tout entier 0 i sizeof...(Vs). Sinon, renvoie false.
3) Équivalent à : return x.current_ <=> y.current_;

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

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

Paramètres

x, y - itérateurs ou sentinelles à comparer

Valeur de retour

Le résultat de la comparaison.

Exemple

Voir aussi

(C++23)
compare un sentinel avec un itérateur retourné par cartesian_product_view::begin
(fonction)