Namespaces
Variants

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

From cppreference.net
C++ named requirements

Un BinaryTypeTrait es una plantilla de clase que describe una relación entre sus dos parámetros de tipo de plantilla con una especialización de std::integral_constant (normalmente std::bool_constant ).

Requisitos

  • DefaultConstructible y CopyConstructible .
  • Toma dos parámetros de tipo plantilla (los parámetros de plantilla adicionales son opcionales y están permitidos).
  • Se deriva pública e inequívocamente de una especialización de std::integral_constant , conocida 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

Las siguientes plantillas de clase de la biblioteca estándar satisfacen BinaryTypeTrait :

(C++11)
verifica si dos tipos son iguales
(class template)
(C++11)
verifica si un tipo es base de otro tipo
(class template)
verifica si un tipo es una base virtual de otro tipo
(class template)
verifica si un tipo puede convertirse a otro tipo
(class template)
verifica si dos tipos son layout-compatible
(class template)
verifica si un tipo es una pointer-interconvertible base (inicial) de otro tipo
(class template)
verifica si un tipo puede ser invocado (como si fuera mediante std::invoke ) con los tipos de argumentos dados
(class template)
verifica si el tipo especificado soporta construcción uses-allocator
(class template)