15 #include <type_traits>
45 constexpr t operator& (t lhs, t rhs) noexcept
46 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
52 constexpr t
operator| (t lhs, t rhs) noexcept
53 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
59 constexpr t operator^ (t lhs, t rhs) noexcept
60 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
66 constexpr t operator~ (t lhs) noexcept
67 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
73 constexpr t & operator&= (t & lhs, t rhs) noexcept
74 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
81 constexpr t & operator|= (t & lhs, t rhs) noexcept
82 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
89 constexpr t & operator^= (t & lhs, t rhs) noexcept
90 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>