概要
関数パラメータに対応するパラメータ変数のリフレクションを取得する。
戻り値
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
処理系
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) ✅ - Visual C++: ??