std::meta::variable_of
Von de.cppreference.net
| 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:
rstellt einen Parameter einer Funktion F dar, und- der Aufruf von
variable_ofTeil der Auswertung des Funktionsrumpfs von F ist.
Beispiel
Diesen Code ausführen
#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
(C++26) |
ermittelt die Parameter der reflektierten Funktion (Funktion) |