std::meta::annotations_of_with_type
De es.cppreference.net
| Definido en el encabezado <meta>
|
||
consteval std::vector<std::meta::info>
annotations_of_with_type( std::meta::info item, std::meta::info type );
|
(desde C++26) | |
Devuelve el resultado de std::meta::annotations_of(item) filtrado según el tipo representado por type.
Parámetros
| item | - | un valor de reflexión |
| type | - | una reflexión de tipo o alias de tipo |
Valor de retorno
Un vector que contiene cada elemento e en std::meta::annotations_of(item) donde std::meta::remove_const(std::meta::type_of(e)) es igual a std::meta::remove_const(type), preservando su orden.
Excepciones
Lanza std::meta::exception si std::meta::annotations_of(item) lanzaría, o si
std::meta::dealias(type)no representa un tipo, ostd::meta::is_complete_type(type)esfalse.
Ejemplo
Ejecutar este código
#include <meta>
struct Option { bool value; };
struct C {
[[=Option{true}]] int a;
[[=Option{false}]] int b;
};
static_assert([:annotations_of_with_type(^^C::a, ^^Option)[0]:].value);
static_assert(![:annotations_of_with_type(^^C::b, ^^Option)[0]:].value);
int main() {}
Véase también
(C++26) |
obtiene las anotaciones que se aplican a la entidad reflejada (función) |
(C++26) |
comprueba si la reflexión representa una anotación (función) |
(C++26) |
obtiene una reflexión del valor constante de la entidad reflejada (función) |
(C++26) |
obtiene una reflexión del tipo de la entidad reflejada (función) |