Namespaces
Variants

std::ranges:: equal_to

From cppreference.net
Utilities library
Function objects
Function invocation
(C++17) (C++23)
Identity function object
(C++20)
Old binders and adaptors
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
( until C++17* ) ( until C++17* )
( until C++17* ) ( until C++17* )

( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
Défini dans l'en-tête <functional>
struct equal_to ;
(depuis C++20)

Objet fonction pour effectuer des comparaisons. Les types de paramètres de l'opérateur d'appel de fonction (mais pas le type de retour) sont déduits des arguments.

Table des matières

Types imbriqués

Type imbriqué Définition
is_transparent unspecified

Fonctions membres

operator()
vérifie si les arguments sont égaux
(fonction membre publique)

std::ranges::equal_to:: operator()

template < class T, class U >
constexpr bool operator ( ) ( T && t, U && u ) const ;

Étant donné l'expression std:: forward < T > ( t ) == std:: forward < U > ( u ) comme expr :

  • Sinon :

Cette surcharge participe à la résolution de surcharge seulement si std:: equality_comparable_with < T, U > est satisfait.

Notes

Comparé à std::equal_to , std::ranges::equal_to impose en plus que != soit valide, et que les deux types d'arguments doivent être (homogènement) comparables entre eux (via la contrainte equality_comparable_with ).

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 Appliqué à Comportement publié Comportement correct
LWG 3530 C++20 les vérifications syntaxiques ont été assouplies lors de la comparaison de pointeurs seules les exigences sémantiques sont assouplies

Voir aussi

objet fonction implémentant x == y
(modèle de classe)