Namespaces
Variants

std::meta::variable_of

Von de.cppreference.net
< cpp | meta
 
 
 
Reflexionsbibliothek
 
Reflexionstypen und -abfragen
Reflexionsabfragen
Reflexionslayoutabfragen
Typeigenschaften
Typabfragen von Eigenschaften
 
Definiert in der Header-Datei <meta>
consteval std::meta::info variable_of( std::meta::info r );
(seit C++26)

Gegeben eine Reflexion r, die einen Funktionsparameter darstellt, gibt eine Reflexion zurück, die die entsprechende Variable in der Funktionsdefinition darstellt.

Parameterwert

r - eine Reflexion, die einen Funktionsparameter darstellt (d.h. ein Element von std::meta::parameters_of(rf), wobei rf eine Funktion darstellt)

Rückgabewert

Eine Reflexion, die eine Variable darstellt, die dem durch r dargestellten Funktionsparameter entspricht.

Ausnahmen

Wirft std::meta::exception, es sei denn:

  • r stellt einen Parameter einer Funktion F dar, und
  • der Aufruf von variable_of Teil der Auswertung des Funktionsrumpfs von F ist.

Beispiel

#include <meta>
#include <print>

void f(int int_arg)
{
    constexpr auto rp = std::meta::parameters_of(^^f)[0];
    // const int& x = [:rp:];  // error: cannot splice the reflection of a parameter
    const int& x = [:std::meta::variable_of(rp):]; // OK, x refers to int_arg

    std::println("{}", x);
}

int main()
{
    f(42);
}

Ausgabe:

42

Siehe auch

ermittelt die Parameter der reflektierten Funktion
(Funktion)