Spec-Zone.ru › C++

std::meta::reflect_function

Определён в заголовочном файле <meta>
template< class T >
consteval std::meta::info reflect_function( T& fn );
(начиная с C++26)

Возвращает отражение, представляющее функцию, на которую ссылается fn.

Программа некорректна, если T не является типом функции.

Параметры

r - lvalue, ссылающийся на функцию

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

Отражение, представляющее функцию.

Исключения

Выбрасывает std::meta::exception, если только константное выражение glvalue E, ссылающееся на функцию fn, не является допустимым аргументом шаблона для параметра шаблона типа T&.

Примечания

Эту функцию можно использовать для создания отражения функции с перегруженным именем.

int f(char); // #1
int f(long); // #2

constexpr auto rf1 = ^^f; // error: cannot reflect an overload set
constexpr auto rf2 = std::meta::reflect_function<int(char)>(f); // OK, rf2 represents overload #1

Пример

См. также

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

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

Spec-Zone.ru

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