Namespaces
Variants

std::meta::variable_of

ja.cppreference.net より
< cpp | meta
 
 
 
リフレクションライブラリ
 
リフレクション型とクエリ
リフレクションクエリ
リフレクションレイアウトクエリ
型プロパティ
型プロパティクエリ
 
ヘッダ <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

関連項目

リフレクションされた関数の引数を取得する
(関数)