std::meta::reflect_constant
Определено в заголовке <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> ложно, если T не является не cv-квалифицированным структурным типом или если T является ссылочным типом.
Параметры
| expr | - | значение структурного типа |
Возвращаемое значение
Отражение, описанное выше.
Исключения
Выбрасывает std::meta::exception, если TCls<V> некорректно.
Пример
См. также
|
(C++26) | переносит строку времени компиляции в статическую память и возвращает отражение, представляющее статическую строку (шаблон функции) |
|
(C++26) | переносит массив времени компиляции в статическую память и возвращает отражение, представляющее статический массив (шаблон функции) |
|
(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/reflect_constant