Namespaces
Variants

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

From cppreference.net
C++ named requirements

Un UnaryTypeTrait es una plantilla de clase que describe una propiedad de su parámetro de tipo de plantilla con una especialización de std::integral_constant (típicamente std::bool_constant ).

Requisitos

  • DefaultConstructible y CopyConstructible .
  • Toma un parámetro de tipo plantilla (los parámetros de plantilla adicionales son opcionales y están permitidos).
  • Derivado pública e inequívocamente de una especialización de std::integral_constant , conocido como su característica base .
  • Los nombres de miembro de la característica base no están ocultos y están disponibles inequívocamente.

Biblioteca estándar

Los siguientes type traits satisfacen todos UnaryTypeTrait :

Las siguientes plantillas de clase de la biblioteca estándar también satisfacen UnaryTypeTrait .

constante en tiempo de compilación de tipo especificado con valor especificado
(plantilla de clase)
(C++17)
metafunción NOT lógica
(plantilla de clase)
obtiene el tamaño de

un tuple
(especialización de plantilla de clase)

obtiene el tamaño de un array
(especialización de plantilla de clase)
obtiene el tamaño de un pair
(especialización de plantilla de clase)
obtiene el tamaño de la lista de alternativas del variant en tiempo de compilación
(plantilla de clase) (plantilla de variable)
indica que un objeto es una expresión std::bind o puede usarse como tal
(plantilla de clase)
indica que un objeto es un marcador de posición estándar o puede usarse como tal
(plantilla de clase)
prueba si una clase representa una política de ejecución
(plantilla de clase)