std::meta::variable_of
ja.cppreference.net より
| ヘッダ <meta>
|
||
consteval std::meta::info variable_of( std::meta::info r );
|
で定義 (C++26 以降) | |
関数引数を表すリフレクション r が与えられた場合、関数定義内の対応する変数を表すリフレクションを返します。
引数値
| r | - | 関数引数を表すリフレクション (すなわち、std::meta::parameters_of(rf) の要素。ここで rf は関数を表す)
|
戻り値
変数を表すリフレクション。これは r で表される関数引数に対応します。
例外
以下でない限り std::meta::exception を投げます:
rが関数 F の引数を表しており、かつvariable_ofの呼び出しが F の関数本体の評価の一部である場合。
例
このコードを実行
#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);
}
出力:
42
関連項目
(C++26) |
リフレクションされた関数の引数を取得する (関数) |