std::meta::type_of
De es.cppreference.net
| Definido en el encabezado <meta>
|
||
consteval std::meta::info type_of( std::meta::info r );
|
(desde C++26) | |
Devuelve una reflexión que representa el tipo de lo que r representa.
Formalmente:
- Si
rrepresenta un parámetro de función (véase std::meta::parameters_of), devuelve una reflexión del tipo correspondiente en la lista de tipos de parámetros de la función. - Si
rrepresenta un valor, objeto, variable, función, miembro de datos no estático o campo de bits sin nombre, devuelve una reflexión del tipo de lo querrepresenta. - Si
rrepresenta una anotación, devuelvestd::meta::type_of(std::meta::constant_of(r)). - Si
rrepresenta un enumerador de un tipo de enumeración E :
- si
type_ofes llamado después de la definición de E , devuelve una reflexión de E ; - en caso contrario (
type_ofes llamado dentro de la definición de E ), devuelve una reflexión de un tipo entero (que es el tipo del enumerador dentro de la definición de la enumeración).
- si
- Si
rrepresenta una relación de clase base directa (es decir, un elemento destd::meta::bases_of(x, ctx)), devuelve una reflexión de la clase base en la relación. - Si
rrepresenta una descripción de miembro de datos (es decir, un valor devuelto por std::meta::data_member_spec), devuelve una reflexión del tipo en la descripción.
Parámetros
| r | - | una reflexión de algo que tiene un tipo |
Valor de retorno
El tipo de lo que r representa.
Excepciones
Lanza std::meta::exception a menos que lo que r representa tenga un tipo. Es decir, r debe representar uno de:
- valor
- anotación
- objeto
- variable
- función cuyo tipo no contenga un tipo placeholder no deducido y que no sea un constructor o destructor
- enumerador
- miembro de datos no estático
- campo de bits sin nombre
- relación de clase base directa
- descripción de miembro de datos
- parámetro de función
Ejemplo
| Esta sección está incompleta Razón: sin ejemplo |
Véase también
(C++26) |
comprueba si la reflexión representa un tipo (función) |