15 #include <type_traits>
92 constexpr
bool add_enum_bitwise_operators =
false;
104 template <
typename t>
105 constexpr t operator& (t lhs, t rhs) noexcept
106 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
111 template <
typename t>
112 constexpr t
operator| (t lhs, t rhs) noexcept
113 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
118 template <
typename t>
119 constexpr t operator^ (t lhs, t rhs) noexcept
120 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
125 template <
typename t>
126 constexpr t operator~ (t lhs) noexcept
127 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
129 return static_cast<t
>(~static_cast<std::underlying_type_t<t>>(lhs));
132 template <
typename t>
133 constexpr t & operator&= (t & lhs, t rhs) noexcept
134 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
140 template <
typename t>
141 constexpr t & operator|= (t & lhs, t rhs) noexcept
142 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
148 template <
typename t>
149 constexpr t & operator^= (t & lhs, t rhs) noexcept
150 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
auto operator|(validator1_type &&vali1, validator2_type &&vali2)
Enables the chaining of validators.
Definition: validators.hpp:1103
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29