C++ named requirements: BinaryTypeTrait (since C++11)
From cppreference.net
C++
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) |
|
(C++26)
|
verifica si un tipo es una base virtual de otro tipo
(class template) |
|
(C++11)
(C++20)
|
verifica si un tipo puede convertirse a otro tipo
(class template) |
|
(C++20)
|
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) |
|
|
(C++11)
|
verifica si el tipo especificado soporta construcción uses-allocator
(class template) |