std::type_identity
De cppreference.com
<tbody>
</tbody>
| Definido en el archivo de encabezado <type_traits>
|
||
template< class T > struct type_identity; |
(desde C++20) | |
Proporciona la definición de tipo (typedef) miembro type que denomina T (es decir, la transformación de identidad).
El comportamiento de un programa que añade especializaciones para type_identity no está definido.
Tipos miembro
| Nombre | Definición |
type
|
T
|
Tipos auxiliares
<tbody> </tbody> template< class T > using type_identity_t = typename type_identity<T>::type; |
(desde C++20) | |
Posible implementación
template< class T >
struct type_identity {
using type = T;
};
|
Notas
type_identity puede usarse para establecer contextos no deducidos en la deducción de argumentos de plantilla:
template<class T>
void f(T, T);
template<class T>
void g(T, std::type_identity_t<T>);
f(4.2, 0); // ERROR, tipos conflictivos deducidos para 'T'
g(4.2, 0); // de acuerdo, llama a g<double>
Ejemplo
| Esta sección está incompleta Razón: sin ejemplo |