Freigeben über


<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

add_const

Wandelt den Typ in einen const-Typ um.

add_cv

Wandelt den Typ in einen const/volatile-Typ um.

add_pointer

Wandelt den Typ in einen Zeiger auf den Typ um.

add_reference

Wandelt den Typ in einen Verweis auf den Typ um.

add_volatile

Wandelt den Typ in einen volatile-Typ um.

aligned_storage

Erstellt einen entsprechend ausgerichteten Typ.

alignment_of

Ruft die Ausrichtung des Typs ab.

common_type

Wandelt zwei Typen in eine Instanz des allgemeinen Typs um.

conditional

Wandelt zwei Typen in eine Instanz des allgemeinen Typs um.

decay

Erstellt einen non-reference-, non-const- oder non-volatile-Typ oder erstellt einen Zeiger auf den Typ.

enable_if

Wandelt einen Typ in eine Instanz oder einen undefinierten Typ um.

extent

Ruft eine Arraydimension ab.

has_nothrow_assign

Testet, ob der Typ keine Zuordnung auslöst.

has_nothrow_constructor

Testet, ob der Typ keine Standardkonstruktion auslöst.

has_nothrow_copy

Testet, ob der Typ keine Kopienkonstruktion auslöst.

has_nothrow_copy_constructor

Testet, ob der Typ keine Kopienkonstruktion auslöst.

has_nothrow_default_constructor

Testet, ob der Typ keine Standardkonstruktion auslöst.

has_trivial_assign

Testet, ob der Typ eine triviale Zuordnung aufweist.

has_trivial_constructor

Testet, ob der Typ einen trivialen Standardkonstruktor aufweist.

has_trivial_copy

Testet, ob der Typ einen trivialen Kopienkonstruktor aufweist.

has_trivial_copy_constructor

Testet, ob der Typ einen trivialen Kopienkonstruktor aufweist.

has_trivial_default_constructor

Testet, ob der Typ einen trivialen Standardkonstruktor aufweist.

has_trivial_destructor

Testet, ob der Typ einen trivialen Destruktor aufweist.

has_virtual_destructor

Testet, ob der Typ einen virtuellen Destruktor aufweist.

is_abstract

Testet, ob es dich bei dem Typ um eine abstrakte Klasse handelt.

is_arithmetic

Testet, ob der Typ arithmetisch ist.

is_array

Testet, ob der Typ ein Array ist.

is_base_of

Testet, ob ein Typ die Basis eines anderen ist.

is_class

Testet, ob der Typ eine Klasse ist.

is_compound

Testet, ob der Typ nicht skalar ist.

is_const

Testet, ob der Typ const ist.

is_convertible

Testet, ob ein Typ in einen anderen konvertiert werden kann.

is_empty

Testet, ob es sich bei dem Typ um eine leere Klasse handelt.

is_enum

Testet, ob der Typ eine Aufzählung ist.

is_floating_point

Testet, ob der Typ ein Gleitkomma ist.

is_function

Testet, ob der Typ ein Funktionstyp ist.

is_fundamental

Testet, ob der Typ void oder arithmetisch ist.

is_integral

Testet, ob der Typ eine Ganzzahl ist.

is_lvalue_reference

Testet, ob der Typ ein lvalue-Verweis ist.

is_member_function_pointer

Testet, ob der Typ ein Zeiger auf eine Memberfunktion ist.

is_member_object_pointer

Testet, ob der Typ ein Zeiger auf ein Memberobjekt ist.

is_member_pointer

Testet, ob der Typ ein Zeiger auf ein Member ist.

is_object

Testet, ob der Typ ein Objekttyp ist.

is_pod

Testet, ob der Typ ein POD-Typ ist.

is_pointer

Testet, ob der Typ ein Zeiger ist.

is_polymorphic

Testet, ob der Typ eine virtuelle Funktion aufweist.

is_reference

Testet, ob der Typ ein Verweis ist.

is_rvalue_reference

Testet, ob der Typ ein rvalue-Verweis ist.

is_same

Stellt fest, ob zwei Typen identisch sind.

is_scalar

Testet, ob der Typ skalar ist.

is_signed

Testet, ob der Typ eine Ganzzahl mit einem Vorzeichen ist.

is_standard_layout

Testet, ob der Typ ein Standardlayout ist.

is_union

Testet, ob der Typ eine Union ist.

is_unsigned

Testet, ob der Typ eine Ganzzahl ohne Vorzeichen ist.

is_void

Testet, ob der Typ ein void-Typ ist.

is_volatile

Testet, ob der Typ flüchtig ist.

make_signed

Macht den Typ oder den kleinsten Typ mit Vorzeichen größer oder gleich dem Typ.

make_unsigned

Macht den Typ oder den kleinsten Typ ohne Vorzeichen größer oder gleich dem Typ.

rank

Ruft die Anzahl von Arraydimensionen ab.

remove_all_extents

Wandelt einen Arraytyp in einen Nichtarraytyp um.

remove_const

Wandelt den Typ in einen non-const-Typ um.

remove_cv

Wandelt einen Typ in einen nicht konstanten/flüchtigen Typ um.

remove_extent

Erstellt einen Arraytyp aus einem Elementtyp.

remove_pointer

Wandelt einen Zeiger auf den Typ in einen Typ um.

remove_reference

Erstellt einen non-reference-Typ aus dem Typ.

remove_volatile

Wandelt einen Typ in einen permanenten Typ um.

integral_constant

Wandelt einen Typ und einen Wert in eine Ganzzahlkonstante um.

Typedefs

false_type

Enthält eine Ganzzahlkonstante mit einem falschen Wert.

true_type

Enthält eine Ganzzahlkonstante mit einem wahren Wert.

Siehe auch

Referenz

<functional>