Namensräume
Varianten
Aktionen

std::bit_not

Von cppreference.com
< cpp‎ | utility‎ | functional
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
Funktionsobjekte
Funktionsaufruf
(C++17)(C++23)
Identitätsfunktions-Objekt
(C++20)
Transparente Operator-Wrapper
(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)

Alte Binder und Adaptoren
(bis C++17*)
(bis C++17*)
(bis C++17*)
(bis C++17*)
(bis C++17*)(bis C++17*)(bis C++17*)(bis C++17*)
(bis C++20*)
(bis C++20*)
(bis C++17*)(bis C++17*)
(bis C++17*)(bis C++17*)

(bis C++17*)
(bis C++17*)(bis C++17*)(bis C++17*)(bis C++17*)
(bis C++20*)
(bis C++20*)
 
Definiert in der Header-Datei <functional>
template< class T = void >
struct bit_not;
(seit C++14)

Funktionsobjekt für die bitweise NOT-Operation. Ruft effektiv operator~ für den Typ T auf.

Inhalt

[bearbeiten] Spezialisierungen

Die Standardbibliothek bietet eine Spezialisierung von std::bit_not an, wenn T nicht spezifiziert ist, wodurch die Parametertypen und der Rückgabetyp abgeleitet werden.

Funktionsobjekt, das ~x implementiert und Parameter- sowie Rückgabetypen ableitet
(Klassenvorlagenspezialisierung) [bearbeiten]

[edit] Mitgliedertypen

Typ Definition
result_type (deprecated in C++17)(removed in C++20) T
argument_type (veraltet in C++17)(entfernt in C++20) T

[bearbeiten] Memberfunktionen

operator()
(C++14)
gibt das Ergebnis der bitweisen NOT-Operation ihres Arguments zurück
(öffentliche Memberfunktion)

std::bit_not::operator()

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

Gibt das Ergebnis der bitweisen NOT-Operation von arg zurück.

Parameter

arg - Wert, für den die bitweise NOT-Operation berechnet werden soll

Rückgabewert

Das Ergebnis von ~arg.

[edit] Exceptions

Kann implementierungsdefinierte Ausnahmen auslösen.

Mögliche Implementierung

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

[bearbeiten] Anmerkungen

Obwohl std::bit_not über den Post-C++11-Vorschlag N3421 hinzugefügt wird, wird er von gängigen Implementierungen als Teil der Lösung für LWG-Issue 660 (mit Ausnahme seiner transparenten Spezialisierung std::bit_not<>) behandelt und ist daher in deren C++98/03-Modus verfügbar.