Namespaces
Variants

std::ranges:: not_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 not_equal_to ;
(depuis C++20)

Objet fonction pour effectuer des comparaisons. Déduit les types de paramètres de l'opérateur d'appel de fonction à partir des arguments (mais pas le type de retour).

Table des matières

Types imbriqués

Type imbriqué Définition
is_transparent unspecified

Fonctions membres

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

std::ranges::not_equal_to:: operator()

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

Équivalent à return ! ranges:: equal_to { } ( std:: forward < T > ( t ) , std:: forward < U > ( u ) ) ; .

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

Notes

Contrairement à std::not_equal_to , std::ranges::not_equal_to exige que les deux opérateurs == et != soient valides (via la contrainte equality_comparable_with ), et est entièrement défini en termes de std::ranges::equal_to .

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)