16namespace Azure {
namespace Data {
namespace Tables {
20 template <
class E,
class = std::enable_if_t<std::is_enum<E>{}>>
23 using type = std::underlying_type_t<E>;
24 return static_cast<E
>(
static_cast<type
>(lhs) |
static_cast<type
>(rhs));
30 template <
class E,
class = std::enable_if_t<std::is_enum<E>{}>>
40 template <
class E,
class = std::enable_if_t<std::is_enum<E>{}>>
43 using type = std::underlying_type_t<E>;
44 return static_cast<E
>(
static_cast<type
>(lhs) &
static_cast<type
>(rhs));
50 template <
class E,
class = std::enable_if_t<std::is_enum<E>{}>>
60 template <
class E,
class = std::enable_if_t<std::is_enum<E>{}>>
63 using type = std::underlying_type_t<E>;
64 return static_cast<E
>(
static_cast<type
>(lhs) ^
static_cast<type
>(rhs));
70 template <
class E,
class = std::enable_if_t<std::is_enum<E>{}>>
80 template <
class E,
class = std::enable_if_t<std::is_enum<E>{}>>
constexpr E
operator~(E rhs)
82 using type = std::underlying_type_t<E>;
83 return static_cast<E
>(~static_cast<type>(rhs));
constexpr E operator&(E lhs, E rhs)
Bitwise AND operator for enum class.
Definition enum_operators.hpp:41
constexpr E & operator^=(E &lhs, E rhs)
Bitwise XOR EQUALS operator for enum class.
Definition enum_operators.hpp:71
constexpr E operator~(E rhs)
Bitwise COMPLEMENT operator for enum class.
Definition enum_operators.hpp:80
constexpr E operator|(E lhs, E rhs)
Bitwise OR operator for enum class.
Definition enum_operators.hpp:21
constexpr E & operator&=(E &lhs, E rhs)
Bitwise AND EQUALS operator for enum class.
Definition enum_operators.hpp:51
constexpr E & operator|=(E &lhs, E rhs)
Bitwise OR EQUALS operator for enum class.
Definition enum_operators.hpp:31
constexpr E operator^(E lhs, E rhs)
Bitwise XOR operator for enum class.
Definition enum_operators.hpp:61