std::meta::reflect_constant
Из ru.cppreference.net
| Определено в заголовке <meta>
|
||
template< class T >
consteval std::meta::info reflect_constant( T expr );
|
(начиная с C++26) | |
Возвращает отражение, которое представляет либо значение expr (если T является ScalarType), либо объект параметра шаблона со значением expr (если T является типом класса).
Формально, пусть:
Vбудет:
- если
Tявляется типом класса, то объект, который является эквивалентным аргументу шаблона значениюexpr; - в противном случае, значение
expr;
- если
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> недействительно.
Пример
| Этот раздел не завершён Причина: нет примера |
Смотри также
(C++26) |
продвигает строку времени компиляции в статическое хранилище, возвращая отражение, представляющее статическую строку (шаблон функции) |
(C++26) |
продвигает массив времени компиляции в статическое хранилище, возвращая отражение, представляющее статический массив (шаблон функции) |
(C++26) |
возвращает отражение, представляющее объект, пригодное для использования в качестве постоянного аргумента шаблона (шаблон функции) |
(C++26) |
возвращает отражение, представляющее функцию, пригодное для использования в качестве постоянного аргумента шаблона (шаблон функции) |
(C++26) |
получает отражение результата подстановки отражённых аргументов в отражённый шаблон (шаблон функции) |