std::ranges:: equal_to
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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 :
-
Si
expr
résulte en un appel à l'
opérateur intégré
operator
==
comparant des pointeurs, étant donné le
type pointeur composite
de
t
et
u
comme
P:
-
-
Pour les deux pointeurs convertis (de type
P), si un pointeur précède l'autre dans l' ordre total strict défini par l'implémentation sur les pointeurs , retourne false , sinon retourne true . -
Si la séquence de conversion de
TversPou la séquence de conversion deUversPne préserve pas l' égalité , le comportement est indéfini.
-
Pour les deux pointeurs convertis (de type
- Sinon :
-
- Retourne le résultat de expr .
- Si std:: equality_comparable_with < T, U > n'est pas modélisé, le comportement est indéfini.
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
|
Cette section est incomplète
Raison : aucun 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) |