std::meta::operator_of
Определён в заголовке <meta> | ||
|---|---|---|
consteval std::meta::operators operator_of( std::meta::info r ); | (начиная с C++26) |
Возвращает значение элемента перечисления из std::meta::operators, соответствующее которому operator-function-id является неквалифицированным именем сущности, представленной r.
Параметры
| r | - | значение отражения |
Возвращаемое значение
Значение элемента перечисления.
Исключения
std::meta::exception, если r не представляет функцию-оператор или шаблон функции-оператора.
Пример
#include <meta>
struct S
{
S& operator+=(int);
};
static_assert(operator_of(^^S::operator+=) == std::meta::op_plus_equals);
// constexpr auto x_x = operator_of(^^S); // throws at compile-time:
// reflection does not represent
// operator function (template)
int main() {}
См. также
|
(C++26) | константы, идентифицирующие перегружаемые операторы (перечисление) |
|
(C++26)(C++26) | преобразует элемент перечисления meta::operators в его символьное имя (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/meta/operator_of