最終更新日時(UTC):
が更新

履歴 編集

function
<meta>

std::meta::variable_of(C++26)

namespace std::meta {
  consteval info variable_of(info r);
}

概要

関数パラメータに対応するパラメータ変数のリフレクションを取得する。

戻り値

rが関数パラメータを表す場合、そのパラメータ変数のリフレクションを返す。

備考

この関数は、関数の定義内でのみ使用可能である。関数の宣言のみでは、パラメータ変数が存在しないため使用できない。

例外

rが関数パラメータを表さない場合、または関数定義のスコープ外で呼ばれた場合、std::meta::exception例外を送出する。

#include <meta>
#include <print>

void func(int x, double y) {
  // 関数定義内でvariable_of()を使用してパラメータ変数にアクセス
  template for (constexpr auto p : std::define_static_array(std::meta::parameters_of(^^func))) {
    std::println("{} = {}", std::meta::identifier_of(p),
                            [:std::meta::variable_of(p):]);
  }
}

int main() {
  func(42, 3.14);
}

出力

x = 42
y = 3.14

バージョン

言語

  • C++26

処理系

参照