std::type_identity
De cppreference.com
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.
Contenido |
[editar] Tipos miembro
Nombre | Definición |
type
|
T
|
[editar] Tipos auxiliares
template< class T > using type_identity_t = typename type_identity<T>::type; |
(desde C++20) | |
[editar] Posible implementación
template< class T > struct type_identity { using type = T; }; |
[editar] 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>
[editar] Ejemplo
Esta sección está incompleta Razón: sin ejemplo |