Namespaces
Variants

std::meta::parameters_of

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 propiedad de tipo
 
Definido en el encabezado <meta>
consteval std::vector<std::meta::info> parameters_of( std::meta::info r );
(desde C++26)

Si r representa una función, devuelve un vector que contiene reflexiones de sus parámetros de función. Si r representa un tipo de función, devuelve un vector que contiene reflexiones de sus tipos de parámetros.

En ambos casos, los elementos del vector están en el orden en que aparecen los parámetros.

Parámetros

r - una reflexión que representa una función o tipo de función

Valor devuelto

Un std::vector de reflexiones.

Excepciones

Lanza std::meta::exception si r no representa una función o tipo de función.

Notas

Una reflexión de un parámetro de función se puede consultar para obtener el tipo del parámetro, el identificador (si lo hay), y la lista de anotaciones. Para obtener el valor de la variable del parámetro dentro del cuerpo de la función, consulte std::meta::variable_of.

El tipo de un parámetro (según lo devuelto por std::meta::type_of) es cv-unqualified, que puede diferir del tipo de la variable correspondiente:

void f(const int x)
{
    constexpr auto rp = std::meta::parameters_of(^^f)[0];
    static_assert(std::meta::type_of(rp) == ^^int);

    constexpr auto rv = std::meta::variable_of(rp);
    static_assert(&[:rv:] == &x);
    static_assert(std::meta::type_of(rv) == ^^const int);
}

Ejemplo

Véase también

obtiene la variable del parámetro de función reflejado en la definición de la función
(función)
obtiene el tipo de retorno de la función reflejada
(función)