Operators available to elements of enumerations if T_EnumIsArithmetical is specialized.
Functions | |
template<typename TEnum > | |
constexpr TEnum | operator% (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator%= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator* (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator*= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator+ (TEnum arg) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator+ (TEnum lhs, TEnum rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator+ (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator++ (TEnum &arg) noexcept(true) |
template<typename TEnum > | |
ALIB_CPP14_CONSTEXPR TEnum | operator++ (TEnum &arg, int) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator+= (TEnum &lhs, TEnum rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator+= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator- (TEnum arg) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator- (TEnum lhs, TEnum rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator- (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator-- (TEnum &arg) noexcept(true) |
template<typename TEnum > | |
ALIB_CPP14_CONSTEXPR TEnum | operator-- (TEnum &arg, int) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator-= (TEnum &lhs, TEnum rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator-= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator/ (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator/= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr bool | operator< (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator<< (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator<<= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr bool | operator<= (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr bool | operator> (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr bool | operator>= (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator>> (TEnum lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
template<typename TEnum > | |
constexpr TEnum | operator>>= (TEnum &lhs, typename std::underlying_type< TEnum >::type rhs) noexcept(true) |
|
constexprnoexcept |
Modulo operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 668 of file arithmetical.hpp.
|
constexprnoexcept |
Modulo assignment operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical 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 693 of file arithmetical.hpp.
|
constexprnoexcept |
Multiplication operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 569 of file arithmetical.hpp.
|
constexprnoexcept |
Multiplication assignment operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical 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 594 of file arithmetical.hpp.
|
constexprnoexcept |
Unary plus operator for enum elements.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
arg | Operand. |
Definition at line 522 of file arithmetical.hpp.
|
constexprnoexcept |
Add operator between two enum elements.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 232 of file arithmetical.hpp.
|
constexprnoexcept |
Add operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 256 of file arithmetical.hpp.
|
constexprnoexcept |
Prefix increment operator.
Selected by the compiler only if T_EnumIsArithmetical 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 328 of file arithmetical.hpp.
|
noexcept |
Postfix increment operator.
Selected by the compiler only if T_EnumIsArithmetical 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 351 of file arithmetical.hpp.
|
constexprnoexcept |
Add assignment operator between two enum elements.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 281 of file arithmetical.hpp.
|
constexprnoexcept |
Add assignment operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical 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 305 of file arithmetical.hpp.
|
constexprnoexcept |
Unary minus operator for enum elements.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
arg | Operand. |
Definition at line 544 of file arithmetical.hpp.
|
constexprnoexcept |
Subtract operator between two enum elements.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 377 of file arithmetical.hpp.
|
constexprnoexcept |
Subtract operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 402 of file arithmetical.hpp.
|
constexprnoexcept |
Prefix decrement operator.
Selected by the compiler only if T_EnumIsArithmetical 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 473 of file arithmetical.hpp.
|
noexcept |
Postfix decrement operator.
Selected by the compiler only if T_EnumIsArithmetical 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 497 of file arithmetical.hpp.
|
constexprnoexcept |
Subtract assignment operator between two enum elements.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 426 of file arithmetical.hpp.
|
constexprnoexcept |
Subtract assignment operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical 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 450 of file arithmetical.hpp.
|
constexprnoexcept |
Division operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 618 of file arithmetical.hpp.
|
constexprnoexcept |
Division assignment operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical 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 643 of file arithmetical.hpp.
|
constexprnoexcept |
Comparison operator less between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 130 of file arithmetical.hpp.
|
constexprnoexcept |
Shift-left operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 718 of file arithmetical.hpp.
|
constexprnoexcept |
Shift-left assignment operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical 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 742 of file arithmetical.hpp.
|
constexprnoexcept |
Comparison operator less or equal between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical 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.hpp.
|
constexprnoexcept |
Comparison operator greater between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 180 of file arithmetical.hpp.
|
constexprnoexcept |
Comparison operator greater or equal between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 207 of file arithmetical.hpp.
|
constexprnoexcept |
Shift-right operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical is specialized for template enum type TEnum to inherit std::true_type
.
TEnum | Enumeration type. |
lhs | First operand. |
rhs | Second operand. |
Definition at line 767 of file arithmetical.hpp.
|
constexprnoexcept |
Shift-right assignment operator between an enum element and an integral value of underlying type.
Selected by the compiler only if T_EnumIsArithmetical 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 791 of file arithmetical.hpp.