std::meta::variable_of
Начиная с ru.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) |
получает параметры отражённой функции (функция) |