<type_traits>
Définit des modèles offrant des constantes de compilation qui fournissent des informations sur les propriétés de leurs arguments de type.
#include <type_traits>
Notes
Un prédicat de type est un modèle qui prend un ou deux arguments de type. Quand un prédicat de typecontient la valeur true, il est publiquement dérivé, directement ou indirectement, de true_type, typedef. Quand un prédicat de typecontient la valeur false, il est publiquement dérivé, directement ou indirectement, de false_type, typedef.
Un modificateur de type est un modèle qui prend un ou plusieurs arguments de modèle et possède un seul membre, comme suit :
- typedef modified-type type;
Une requête de type est un modèle qui prend un ou plusieurs arguments de modèle. Une requête de type est publiquement dérivée, directement ou indirectement, de integral_constant<std::size_t, value>. Elle contient la valeur qui est passée comme argument value.
Modèles d'alias
Les modèles d'alias pour typename foo<T>::type sont fournis, où « foo » est le nom de classe du modèle. Par exemple, add_const a le modèle d'alias pour son type add_const_t, défini comme suit :
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 |
Classes
Crée un type const à partir d'un type. |
|
Crée un type const/volatile à partir d'un type. |
|
Crée un pointeur vers un type à partir d'un type. |
|
Crée une référence vers un type à partir d'un type. |
|
Crée un type volatile à partir d'un type. |
|
Crée un type correctement aligné. |
|
Obtient l'alignement de type. |
|
Crée une instance du type commun de deux types. |
|
Crée une instance du type commun de deux types. |
|
Crée un type non-référence, non const ou non volatile, ou crée un pointeur vers un type. |
|
Crée une instance d'un type, ou un type indéfini. |
|
Obtient une dimension de tableau. |
|
Teste si le type ne lève pas d'exception lors de l'assignation. |
|
Teste si le type ne lève pas d'exception lors de la construction par défaut. |
|
Teste si le type ne lève pas d'exception lors de la construction de copie. |
|
Teste si le type ne lève pas d'exception lors de la construction de copie. |
|
Teste si le type ne lève pas d'exception lors de la construction par défaut. |
|
Teste si le type a une assignation triviale. |
|
Teste si le type a un constructeur par défaut trivial. |
|
Teste si le type a un constructeur de copie trivial. |
|
Teste si le type a un constructeur de copie trivial. |
|
Teste si le type a un constructeur par défaut trivial. |
|
Teste si le type a un destructeur trivial. |
|
Teste si le type a un destructeur virtuel. |
|
Teste si le type est une classe abstraite. |
|
Teste si le type est arithmétique. |
|
Teste si le type est un tableau. |
|
Teste si un type est la base d'un autre. |
|
Teste si le type est une classe. |
|
Teste si le type n'est pas scalaire. |
|
Teste si le type est const. |
|
Teste si un type est convertible en un autre. |
|
Teste si le type est une classe vide. |
|
Teste si le type est une énumération. |
|
Teste si le type est à virgule flottante. |
|
Teste si le type est un type de fonction. |
|
Teste si le type est void ou arithmétique. |
|
Teste si le type est intégral. |
|
Teste si le type est une référence lvalue. |
|
Teste si le type est un pointeur vers une fonction membre. |
|
Teste si le type est un pointeur vers un objet membre. |
|
Teste si le type est un pointeur vers un membre. |
|
Teste si le type est un type d'objet. |
|
Teste si le type est POD. |
|
Teste si le type est un pointeur. |
|
Teste si le type a une fonction virtuelle. |
|
Teste si le type est une référence. |
|
Teste si le type est une référence rvalue. |
|
Teste si deux types sont identiques. |
|
Teste si le type est scalaire. |
|
Teste si le type est un entier signé. |
|
Teste si le type est une disposition standard. |
|
Teste si le type est une union. |
|
Teste si le type est un entier non signé. |
|
Teste si le type est void. |
|
Teste si le type est volatile. |
|
Rend le type ou le plus petit type signé supérieur ou égal en taille au type. |
|
Rend le type ou le plus petit type non signé supérieur ou égal en taille au type. |
|
Obtient le nombre de dimensions de tableau. |
|
Crée un type non-tableau à partir d'un type tableau. |
|
Crée un type non const à partir d'un type. |
|
Crée un type non volatile/non const à partir d'un type. |
|
Crée un type d'élément à partir d'un type tableau. |
|
Crée un type à partir d'un pointeur vers un type. |
|
Crée un type non-référence à partir d'un type. |
|
Crée un type non volatile à partir d'un type. |
|
Crée une constante intégrale à partir d'un type et d'une valeur. |
Typedef
Contient une constante intégrale avec la valeur false. |
|
Contient une constante intégrale avec la valeur true. |