Namespaces
Variants

C++ named requirements: UnaryTypeTrait (since C++11)

From cppreference.net
C++ named requirements

Un UnaryTypeTrait est un modèle de classe qui décrit une propriété de son paramètre de type template avec une spécialisation std::integral_constant (généralement std::bool_constant ).

Exigences

  • DefaultConstructible et CopyConstructible .
  • Prend un paramètre de type template (les paramètres templates supplémentaires sont optionnels et autorisés).
  • Dérivé publiquement et sans ambiguïté d'une spécialisation de std::integral_constant , appelée sa caractéristique de base .
  • Les noms des membres de la caractéristique de base ne sont pas masqués et sont disponibles sans ambiguïté.

Bibliothèque standard

Les type traits suivants satisfont tous UnaryTypeTrait :

Les modèles de classe de bibliothèque standard suivants satisfont également UnaryTypeTrait .

constante à la compilation du type spécifié avec la valeur spécifiée
(modèle de classe)
(C++17)
métafonction NON logique
(modèle de classe)
obtient la taille d'un

tuple
(spécialisation de modèle de classe)

obtient la taille d'un array
(spécialisation de modèle de classe)
obtient la taille d'une pair
(spécialisation de modèle de classe)
obtient la taille de la liste d'alternatives du variant à la compilation
(modèle de classe) (modèle de variable)
indique qu'un objet est une expression std::bind ou peut être utilisé comme telle
(modèle de classe)
indique qu'un objet est un espace réservé standard ou peut être utilisé comme tel
(modèle de classe)
teste si une classe représente une politique d'exécution
(modèle de classe)