<type_traits>
Definiert Vorlagen, die Kompilierungszeitskonstanten bereitstellen, die Informationen über die Eigenschaften ihrer Typargumente geben.
#include <type_traits>
Hinweise
Ein Typprädikat ist eine Vorlage, die ein oder zwei Typargumente entgegennimmt. Wenn ein Typprädikat wahr ist, wird es öffentlich, direkt oder indirekt aus true_type-Typdefinition abgeleitet. Wenn ein Typprädikat falsch ist, wird es öffentlich, direkt oder indirekt aus false_type-Typdefinition abgeleitet.
Ein Typmodifikator ist eine Vorlage, die wie folgt ein oder mehrere Vorlagenargumente entgegennimmt und ein Member aufweist:
- typedef modified-type type;
Eine Typabfrage ist eine Vorlage, die ein oder zwei Vorlagenargumente entgegennimmt. Eine Typabfrage wird öffentlich, direkt oder indirekt aus integral_constant<std::size_t, value> abgeleitet. Es enthält den Wert, der als Argument-value übergeben wird.
Alias-Vorlagen
Es stehen Alias-Vorlagen für typename foo<T>::type zur Verfügung, wobei "foo" der Vorlagenklassenname ist. add_const hat z. B. die Alias-Vorlage für seinen Typ add_const_t, definiert als:
template<class T>
using add_const_t = typename add_const<T>::type;
add_const_t |
aligned_storage_t |
make_signed_t |
remove_pointer_t |
add_cv_t |
aligned_union_t |
make_unsigned_t |
remove_reference_t |
add_lvalue_reference_t |
common_type_t |
remove_all_extents_t |
remove_volatile_t |
add_pointer_t |
conditional_t |
remove_const_t |
result_of_t |
add_rvalue_reference_t |
decay_t |
remove_cv_t |
underlying_type_t |
add_volatile_t |
enable_if_t |
remove_extent_t |
Klassen
Wandelt den Typ in einen const-Typ um. |
|
Wandelt den Typ in einen const/volatile-Typ um. |
|
Wandelt den Typ in einen Zeiger auf den Typ um. |
|
Wandelt den Typ in einen Verweis auf den Typ um. |
|
Wandelt den Typ in einen volatile-Typ um. |
|
Erstellt einen entsprechend ausgerichteten Typ. |
|
Ruft die Ausrichtung des Typs ab. |
|
Wandelt zwei Typen in eine Instanz des allgemeinen Typs um. |
|
Wandelt zwei Typen in eine Instanz des allgemeinen Typs um. |
|
Erstellt einen non-reference-, non-const- oder non-volatile-Typ oder erstellt einen Zeiger auf den Typ. |
|
Wandelt einen Typ in eine Instanz oder einen undefinierten Typ um. |
|
Ruft eine Arraydimension ab. |
|
Testet, ob der Typ keine Zuordnung auslöst. |
|
Testet, ob der Typ keine Standardkonstruktion auslöst. |
|
Testet, ob der Typ keine Kopienkonstruktion auslöst. |
|
Testet, ob der Typ keine Kopienkonstruktion auslöst. |
|
Testet, ob der Typ keine Standardkonstruktion auslöst. |
|
Testet, ob der Typ eine triviale Zuordnung aufweist. |
|
Testet, ob der Typ einen trivialen Standardkonstruktor aufweist. |
|
Testet, ob der Typ einen trivialen Kopienkonstruktor aufweist. |
|
Testet, ob der Typ einen trivialen Kopienkonstruktor aufweist. |
|
Testet, ob der Typ einen trivialen Standardkonstruktor aufweist. |
|
Testet, ob der Typ einen trivialen Destruktor aufweist. |
|
Testet, ob der Typ einen virtuellen Destruktor aufweist. |
|
Testet, ob es dich bei dem Typ um eine abstrakte Klasse handelt. |
|
Testet, ob der Typ arithmetisch ist. |
|
Testet, ob der Typ ein Array ist. |
|
Testet, ob ein Typ die Basis eines anderen ist. |
|
Testet, ob der Typ eine Klasse ist. |
|
Testet, ob der Typ nicht skalar ist. |
|
Testet, ob der Typ const ist. |
|
Testet, ob ein Typ in einen anderen konvertiert werden kann. |
|
Testet, ob es sich bei dem Typ um eine leere Klasse handelt. |
|
Testet, ob der Typ eine Aufzählung ist. |
|
Testet, ob der Typ ein Gleitkomma ist. |
|
Testet, ob der Typ ein Funktionstyp ist. |
|
Testet, ob der Typ void oder arithmetisch ist. |
|
Testet, ob der Typ eine Ganzzahl ist. |
|
Testet, ob der Typ ein lvalue-Verweis ist. |
|
Testet, ob der Typ ein Zeiger auf eine Memberfunktion ist. |
|
Testet, ob der Typ ein Zeiger auf ein Memberobjekt ist. |
|
Testet, ob der Typ ein Zeiger auf ein Member ist. |
|
Testet, ob der Typ ein Objekttyp ist. |
|
Testet, ob der Typ ein POD-Typ ist. |
|
Testet, ob der Typ ein Zeiger ist. |
|
Testet, ob der Typ eine virtuelle Funktion aufweist. |
|
Testet, ob der Typ ein Verweis ist. |
|
Testet, ob der Typ ein rvalue-Verweis ist. |
|
Stellt fest, ob zwei Typen identisch sind. |
|
Testet, ob der Typ skalar ist. |
|
Testet, ob der Typ eine Ganzzahl mit einem Vorzeichen ist. |
|
Testet, ob der Typ ein Standardlayout ist. |
|
Testet, ob der Typ eine Union ist. |
|
Testet, ob der Typ eine Ganzzahl ohne Vorzeichen ist. |
|
Testet, ob der Typ ein void-Typ ist. |
|
Testet, ob der Typ flüchtig ist. |
|
Macht den Typ oder den kleinsten Typ mit Vorzeichen größer oder gleich dem Typ. |
|
Macht den Typ oder den kleinsten Typ ohne Vorzeichen größer oder gleich dem Typ. |
|
Ruft die Anzahl von Arraydimensionen ab. |
|
Wandelt einen Arraytyp in einen Nichtarraytyp um. |
|
Wandelt den Typ in einen non-const-Typ um. |
|
Wandelt einen Typ in einen nicht konstanten/flüchtigen Typ um. |
|
Erstellt einen Arraytyp aus einem Elementtyp. |
|
Wandelt einen Zeiger auf den Typ in einen Typ um. |
|
Erstellt einen non-reference-Typ aus dem Typ. |
|
Wandelt einen Typ in einen permanenten Typ um. |
|
Wandelt einen Typ und einen Wert in eine Ganzzahlkonstante um. |
Typedefs
Enthält eine Ganzzahlkonstante mit einem falschen Wert. |
|
Enthält eine Ganzzahlkonstante mit einem wahren Wert. |