Spec-Zone.ru › C++

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 представляет переменную или объект скалярного типа.

Пример

См. также

reflect_constant
(C++26)
возвращает отражение, представляющее значение или объект параметра шаблона, пригодное для использования в качестве аргумента шаблона-константы
(шаблон функции)
reflect_constant_array
(C++26)
перемещает массив времени компиляции в статическую память и возвращает отражение, представляющее статический массив
(шаблон функции)
reflect_function
(C++26)
возвращает отражение, представляющее функцию и пригодное для использования в качестве аргумента шаблона-константы
(шаблон функции)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/meta/constant_of

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API