Namespaces
Variants

std::meta::reflect_constant

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

Категории первичных типов
Категории составных типов
Свойства типов ➜
Отношения типов
 
Типы и запросы отражения
Запросы отражения
Запросы макета отражения
Свойства типов
Запросы свойств типов
 
Определено в заголовке <meta>
template< class T >
consteval std::meta::info reflect_constant( T expr );
(начиная с C++26)

Возвращает отражение, которое представляет либо значение expr (если T является ScalarType), либо объект параметра шаблона со значением expr (если T является типом класса).

Формально, пусть:

  • V будет:
  • TCls пусть будет изобретённый шаблон template<T P> struct TCls;

Эта функция возвращает std::meta::template_arguments_of(^^TCls<V>)[0].

Программа является некорректной, если std::is_copy_constructible_v<T> равно false, если T не является cv-неквалифицированным структурным типом или если T является ссылочным типом.

Параметры

expr - значение структурного типа

Возвращаемое значение

Отражение, как описано выше.

Исключения

Генерирует std::meta::exception если TCls<V> недействительно.

Пример

Смотри также

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