std::meta::variable_of
Объявлен в заголовке <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) | получает параметры отражённой функции (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/meta/variable_of