Namensräume
Varianten
Aktionen

std::experimental::negation

Von cppreference.com
 
 
 
 
Definiert im Header <experimental/type_traits>
template< class B >
struct negation;
(1) (Library Fundamentals TS v2)

Bildet die logische Negation des Typ-Traits B.

Der Typ negation<B> ist ein UnaryTypeTrait mit der Basischarakteristik std::integral_constant<bool, !bool(B::value)>.

Inhalt

[bearbeiten] Template-Parameter

B - ein beliebiger Typ, für den der Ausdruck bool(B::value) ein gültiger konstante Ausdruck ist.

[bearbeiten] Hilfsvariablen-Template

template< class B >
constexpr bool negation_v = negation<B>::value;
(Library Fundamentals TS v2)

Abgeleitet von std::integral_constant

Member-Konstanten

value
[static]
true, wenn B ein Mitglied ::value hat, für das !bool(B::value) true ist, andernfalls false.
(öffentliche statische Member-Konstante)

Memberfunktionen

operator bool
konvertiert das Objekt zu bool, gibt value zurück
(öffentliche Memberfunktion)
operator()
(C++14)
gibt value zurück
(öffentliche Memberfunktion)

Membertypen

Typ Definition
value_type bool
type std::integral_constant<bool, value>

[bearbeiten] Mögliche Implementierung

template<class B>
struct negation : std::integral_constant<bool, !bool(B::value)> {};

[bearbeiten] Beispiel

[bearbeiten] Siehe auch

(C++17)
logische NOT-Metafunktion
(Klassenvorlage) [bearbeiten]