Namespaces
Variants

std::meta::parameters_of

Depuis fr.cppreference.net
< cpp | meta
 
 
 
Bibliothèque de réflexion
 
Types et requêtes de réflexion
Requêtes de réflexion
Requêtes de disposition de réflexion
Propriétés de type
Requêtes de propriétés de type
 
Défini dans l'en-tête <meta>
consteval std::vector<std::meta::info> parameters_of( std::meta::info r );
(depuis C++26)

Si r représente une fonction, retourne un vecteur contenant les réflexions de ses paramètres de fonction. Si r représente un type de fonction, retourne un vecteur contenant les réflexions de ses types de paramètres.

Dans les deux cas, les éléments du vecteur sont dans l'ordre d'apparition des paramètres.

Paramètres

r - une réflexion qui représente une fonction ou un type de fonction

Valeur de retour

Un std::vector de réflexions.

Exceptions

Lève std::meta::exception si r ne représente pas une fonction ou un type de fonction.

Notes

Une réflexion d'un paramètre de fonction peut être interrogée pour le type du paramètre, son identifiant (le cas échéant) et la liste des annotations. Pour obtenir la valeur de la variable paramètre dans le corps de la fonction, voir std::meta::variable_of.

Le type d'un paramètre (tel que retourné par std::meta::type_of) est non qualifié cv, ce qui peut différer du type de la variable correspondante :

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);
}

Exemple

Voir aussi

obtient la variable du paramètre de fonction réfléchi dans la définition de la fonction
(fonction)
obtient le type de retour de la fonction réfléchie
(fonction)