Operators available to elements of enumerations if ArithmeticalTraits is specialized.
Function Index: | |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator% (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator%= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator* (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator*= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator+ (TEnum arg) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator+ (TEnum lhs, TEnum rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator+ (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator++ (TEnum &arg) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator++ (TEnum &arg, typename std::underlying_type< TEnum >::type) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator+= (TEnum &lhs, TEnum rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator+= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator- (TEnum arg) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator- (TEnum lhs, TEnum rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator- (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator-- (TEnum &arg) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator-- (TEnum &arg, typename std::underlying_type< TEnum >::type) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator-= (TEnum &lhs, TEnum rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator-= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator/ (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator/= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr bool | operator< (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator<< (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator<<= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr bool | operator<= (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr bool | operator> (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr bool | operator>= (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator>> (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
template<typename TEnum> requires alib::enumops::IsArithmetical<TEnum> | |
ALIB_EXPORT constexpr TEnum | operator>>= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept |
|
constexprnoexcept |
Modulo operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 502 of file arithmetical.inl.
|
constexprnoexcept |
Modulo assignment operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
[in,out] | lhs | Reference to the first operand. Receives the result. |
rhs | Second operand. |
Definition at line 521 of file arithmetical.inl.
|
constexprnoexcept |
Multiplication operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 427 of file arithmetical.inl.
|
constexprnoexcept |
Multiplication assignment operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
[in,out] | lhs | Reference to the first operand. Receives the result. |
rhs | Second operand. |
Definition at line 446 of file arithmetical.inl.
|
constexprnoexcept |
Unary plus operator for enum elements.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
arg | Operand. |
Definition at line 392 of file arithmetical.inl.
|
constexprnoexcept |
Add-operator between two enum elements.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 174 of file arithmetical.inl.
|
constexprnoexcept |
Add-operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 192 of file arithmetical.inl.
|
constexprnoexcept |
Prefix increment operator.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
[in,out] | arg | Reference to the enum value to be incremented. |
Definition at line 246 of file arithmetical.inl.
|
constexprnoexcept |
Postfix increment operator.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
[in,out] | arg | Reference to the enum value to be incremented. |
Definition at line 263 of file arithmetical.inl.
|
constexprnoexcept |
Add-assignment-operator between two enum elements.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 211 of file arithmetical.inl.
|
constexprnoexcept |
Add-assignment-operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
[in,out] | lhs | Reference to the first operand. Receives the result. |
TEnum | Enumeration type. |
rhs | Second operand. |
Definition at line 229 of file arithmetical.inl.
|
constexprnoexcept |
Unary minus operator for enum elements.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
arg | Operand. |
Definition at line 408 of file arithmetical.inl.
|
constexprnoexcept |
Subtract operator between two enum elements.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 283 of file arithmetical.inl.
|
constexprnoexcept |
Subtract operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 302 of file arithmetical.inl.
|
constexprnoexcept |
Prefix decrement operator.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
[in,out] | arg | Reference to the enum value to be decremented. |
Definition at line 355 of file arithmetical.inl.
|
constexprnoexcept |
Postfix decrement operator.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
[in,out] | arg | Reference to the enum value to be decremented. |
Definition at line 373 of file arithmetical.inl.
|
constexprnoexcept |
Subtract assignment operator between two enum elements.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 320 of file arithmetical.inl.
|
constexprnoexcept |
Subtract assignment operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
[in,out] | lhs | Reference to the first operand. Receives the result. |
rhs | Second operand. |
Definition at line 338 of file arithmetical.inl.
|
constexprnoexcept |
Division operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 464 of file arithmetical.inl.
|
constexprnoexcept |
Division assignment operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
[in,out] | lhs | Reference to the first operand. Receives the result. |
rhs | Second operand. |
Definition at line 483 of file arithmetical.inl.
|
constexprnoexcept |
Comparison operator less between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 98 of file arithmetical.inl.
|
constexprnoexcept |
Shift-left operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 540 of file arithmetical.inl.
|
constexprnoexcept |
Shift-left assignment operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
[in,out] | lhs | Reference to the first operand. Receives the result. |
rhs | Second operand. |
Definition at line 558 of file arithmetical.inl.
|
constexprnoexcept |
Comparison operator less or equal between an enum element and an integral value of the underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 117 of file arithmetical.inl.
|
constexprnoexcept |
Comparison operator greater between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 136 of file arithmetical.inl.
|
constexprnoexcept |
Comparison operator greater or equal between an enum element and an integral value of the underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 155 of file arithmetical.inl.
|
constexprnoexcept |
Shift-right operator between an enum element and an integral value of underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 577 of file arithmetical.inl.
|
constexprnoexcept |
Shift-right assignment operator between an enum element and an integral value of the underlying type.
Selected by the compiler only if ArithmeticalTraits is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
[in,out] | lhs | Reference to the first operand. Receives the result. |
rhs | Second operand. |
Definition at line 596 of file arithmetical.inl.