std::meta::parameters_of
От ru.cppreference.net
| Определено в заголовке <meta>
|
||
consteval std::vector<std::meta::info> parameters_of( std::meta::info r );
|
(начиная с C++26) | |
Если r представляет функцию, возвращает вектор, содержащий отражения её параметров. Если r представляет тип функции, возвращает вектор, содержащий отражения типов её параметров.
В обоих случаях элементы вектора располагаются в порядке следования параметров.
Параметры
| r | - | отражение, представляющее функцию или тип функции |
Возвращаемое значение
std::vector отражений.
Исключения
Выбрасывает std::meta::exception, если r не представляет функцию или тип функции.
Примечания
Отражение параметра функции можно запросить для получения типа параметра, идентификатора (если есть), и списка аннотаций. Чтобы получить значение переменной параметра внутри тела функции, см. std::meta::variable_of.
Тип параметра (возвращаемый std::meta::type_of) является cv-unqualified, что может отличаться от типа соответствующей переменной:
void f(const int x)
{
constexpr auto rp = std::meta::parameters_of(^^f)[0];
static_assert(std::meta::type_of(rp) == ^^int);
constexpr auto rv = std::meta::variable_of(rp);
static_assert(&[:rv:] == &x);
static_assert(std::meta::type_of(rv) == ^^const int);
}
Пример
| Этот раздел неполон Причина: нет примера |
См. также
(C++26) |
получает переменную отражённого параметра функции в определении функции (функция) |
(C++26) |
получает тип возврата отражённой функции (функция) |