Files
2025-10-25 03:02:53 +03:00

6.3 KiB
Raw Permalink Blame History

[meta.reflection.operators]

21 Metaprogramming library [meta]

21.4 Reflection [meta.reflection]

21.4.5 Operator representations [meta.reflection.operators]

🔗

enum class [operators](#lib:operators "21.4.5Operator representations[meta.reflection.operators]") { see below; }; using enum operators;

1

#

The enumeration type operators specifies constants used to identify operators that can be overloaded, with the meanings listed in Table 63.

The values of the constants are distinct.

Table 63 — Enum class operators [tab:meta.reflection.operators]

🔗
Constant
Corresponding operator-function-id Operator symbol name
🔗
op_new
operator new new
🔗
op_delete
operator delete delete
🔗
op_array_new
operator new[] new[]
🔗
op_array_delete
operator delete[] delete[]
🔗
op_co_await
operator co_await co_await
🔗
op_parentheses
operator() ()
🔗
op_square_brackets
operator[] []
🔗
op_arrow
operator-> ->
🔗
op_arrow_star
operator->* ->*
🔗
op_tilde
operator~ ~
🔗
op_exclamation
operator! !
🔗
op_plus
operator+ +
🔗
op_minus
operator- -
🔗
op_star
operator* *
🔗
op_slash
operator/ /
🔗
op_percent
operator% %
🔗
op_caret
operator^ ^
🔗
op_ampersand
operator& &
🔗
op_equals
operator= =
🔗
op_pipe
operator
🔗
op_plus_equals
operator+= +=
🔗
op_minus_equals
operator-= -=
🔗
op_star_equals
operator*= *=
🔗
op_slash_equals
operator/= /=
🔗
op_percent_equals
operator%= %=
🔗
op_caret_equals
operator^= ^=
🔗
op_ampersand_equals
operator&= &=
🔗
op_pipe_equals
operator =
🔗
op_equals_equals
operator== ==
🔗
op_exclamation_equals
operator!= !=
🔗
op_less
operator< <
🔗
op_greater
operator> >
🔗
op_less_equals
operator<= <=
🔗
op_greater_equals
operator>= >=
🔗
op_spaceship
operator<=> <=>
🔗
op_ampersand_ampersand
operator&& &&
🔗
op_pipe_pipe
operator
🔗
op_less_less
operator<< <<
🔗
op_greater_greater
operator>> >>
🔗
op_less_less_equals
operator<<= <<=
🔗
op_greater_greater_equals
operator>>= >>=
🔗
op_plus_plus
operator++ ++
🔗
op_minus_minus
operator-- --
🔗
op_comma
operator, ,

🔗

consteval operators operator_of(info r);

2

#

Returns: The value of the enumerator from operators whose corresponding operator-function-id is the unqualified name of the entity represented by r.

3

#

Throws: meta::exception unlessr represents an operator function or operator function template.

🔗

consteval string_view symbol_of(operators op); consteval u8string_view u8symbol_of(operators op);

4

#

Returns: A string_view or u8string_view containing the characters of the operator symbol name corresponding to op, respectively encoded with the ordinary literal encoding or with UTF-8.

5

#

Throws: meta::exception unless the value of op corresponds to one of the enumerators in operators.