Namespaces
Variants

std::meta::constant_of

From ru.cppreference.net
< cpp | meta
 
 
 
Библиотека рефлексии
Запросы доступности членов
Идентификация области видимости
Запросы членов рефлексии
Рефлексия аннотаций
Извлечение значения
Подстановка рефлексии
Рефлексия результата выражения
Генерация определения класса

Основные категории типов
Составные категории типов
Свойства типов ➜
Отношения типов
 
Типы и запросы рефлексии
Запросы рефлексии
Запросы размещения в рефлексии
Свойства типов
Запросы свойств типов
 
Определён в заголовочном файле <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:] не является корректным выражением вставки.

Примечания

Результат представляет функцию, если r представляет функцию, объект параметра шаблона, если r представляет переменную или объект типа массива или класса, или (скалярное) значение, если r представляет переменную или объект скалярного типа.

Пример

См. также

возвращает рефлексию, представляющую значение или объект параметра шаблона, пригодную для использования в качестве константного аргумента шаблона
(шаблон функции)
преобразует массив времени компиляции в статическое хранилище, возвращая рефлексию, представляющую статический массив
(шаблон функции)
возвращает рефлексию, представляющую функцию, пригодную для использования в качестве константного аргумента шаблона
(шаблон функции)