Namespaces
Variants

std:: bit_not

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>
template < class T = void >
struct bit_not ;
(depuis C++14)

Objet fonction pour effectuer un NON bit à bit. Appelle effectivement operator~ sur le type T .

Table des matières

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.