std::meta::constant_of
Определён в заголовочном файле <meta> | ||
|---|---|---|
constexpr std::meta::info constant_of( std::meta::info r ); | (начиная с C++26) |
Возвращает отражение (константного) значения того, что представляет r.
Формально:
- Если
rпредставляет аннотацию, возвращает её базовую константу (std::meta::reflect_constant(expr), гдеexpr— константное выражение аннотации). - В противном случае пусть
R— константное выражение, равноеr: - Если
rпредставляет переменную или объект массивного типа, возвращаетstd::meta::reflect_constant_array([:R:]). - В противном случае, если
rпредставляет функцию, возвращаетstd::meta::reflect_function([:R:]). - В противном случае возвращает
std::meta::reflect_constant([:R:]).
Параметры
| r | - | значение отражения |
Возвращаемое значение
Отражение значения того, что представляет r.
Исключения
Выбрасывает std::meta::exception, если только r не представляет аннотацию или [:R:] не является допустимым выражением splice.
Примечания
Результат представляет функцию, если r представляет функцию; объект параметра шаблона, если r представляет переменную или объект массивного или классового типа; либо значение (скалярное), если r представляет переменную или объект скалярного типа.
Пример
См. также
|
(C++26) | возвращает отражение, представляющее значение или объект параметра шаблона, пригодное для использования в качестве аргумента шаблона-константы (шаблон функции) |
|
(C++26) | перемещает массив времени компиляции в статическую память и возвращает отражение, представляющее статический массив (шаблон функции) |
|
(C++26) | возвращает отражение, представляющее функцию и пригодное для использования в качестве аргумента шаблона-константы (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/meta/constant_of