Spec-Zone.ru › C++

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() {}

См. также

  • Операторы
  • Альтернативный синтаксис операторов
operators
(C++26)
константы, идентифицирующие перегружаемые операторы
(перечисление)
symbol_ofu8symbol_of
(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

Spec-Zone.ru

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