Namespaces
Variants

std::meta::annotations_of_with_type

De es.cppreference.net
< cpp | meta
 
 
 
Biblioteca de reflexión
 
Tipos y consultas de reflexión
Consultas de reflexión
Consultas de diseño de reflexión
Propiedades de tipo
Consultas de propiedades de tipo
 
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, o
  • std::meta::is_complete_type(type) es false.

Ejemplo

#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

obtiene las anotaciones que se aplican a la entidad reflejada
(función)
comprueba si la reflexión representa una anotación
(función)
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)