Namespaces
Variants

std::bit_not

De fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support de type (types de base, RTTI)
Macros de test des fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (obsolète en C++20)
 
Foncteurs
Invocation de fonction
(C++17)(C++23)
Foncteur identité
(C++20)
Foncteurs d'opérateurs transparents
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

Anciens lieurs et adaptateurs
(jusqu'à C++17*)
(jusqu'à C++17*)
(jusqu'à C++17*)
(jusqu'à C++17*)
(jusqu'à C++17*)  
(jusqu'à C++17*)
(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)
(jusqu'à C++20*)
(jusqu'à C++20*)
(jusqu'à C++17*)(jusqu'à C++17*)
(jusqu'à C++17*)(jusqu'à C++17*)

(jusqu'à C++17*)
(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)
(jusqu'à C++20*)
(jusqu'à C++20*)
 
Défini dans l'en-tête <functional>
template< class T = void >
struct bit_not;
(depuis C++14)

Foncteur pour effectuer le complément binaire (NOT). Appelle effectivement operator~ sur le type T.

Spécialisations

La bibliothèque standard fournit une spécialisation de std::bit_not lorsque T n'est pas spécifié, ce qui laisse les types de paramètres et le type de retour à déduire.

objet fonction implémentant ~x déduisant les types de paramètres et de retour
(spécialisation de modèle de classe)

Types membres

Type Définition
result_type (obsolète en C++17) (supprimé en C++20) T
argument_type (obsolète en C++17) (supprimé en C++20) T

Fonctions membres

operator()
(C++14)
retourne le résultat du complément bit à bit de son argument
(fonction membre publique)

std::bit_not:: operator()

constexpr T operator ( ) ( const T & arg ) const ;
(depuis C++14)

Retourne le résultat du NON bit à bit de arg .

Paramètres

arg - valeur sur laquelle effectuer le NON bit à bit

Valeur de retour

Le résultat de ~arg .

Exceptions

Peut lever des exceptions définies par l'implémentation.

Implémentation possible

constexpr T operator()(const T& arg) const
{
    return ~arg;
}

Notes

Bien que std::bit_not ait été ajouté via la proposition post-C++11 N3421 , il est traité comme faisant partie de la résolution pour LWG issue 660 (à l'exception de sa spécialisation transparente std::bit_not<> ) par les implémentations courantes, et donc disponible dans leur mode C++98/03.