72 constexpr t operator& (t lhs, t rhs) noexcept
73 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
75 return static_cast<t
>(
static_cast<std::underlying_type_t<t>
>(lhs) &
static_cast<std::underlying_type_t<t>
>(rhs));
79 constexpr t
operator| (t lhs, t rhs) noexcept
80 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
82 return static_cast<t
>(
static_cast<std::underlying_type_t<t>
>(lhs) |
static_cast<std::underlying_type_t<t>
>(rhs));
86 constexpr t operator^ (t lhs, t rhs) noexcept
87 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
89 return static_cast<t
>(
static_cast<std::underlying_type_t<t>
>(lhs) ^
static_cast<std::underlying_type_t<t>
>(rhs));
93 constexpr t operator~ (t lhs) noexcept
94 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
96 return static_cast<t
>(~static_cast<std::underlying_type_t<t>>(lhs));
100 constexpr t & operator&= (t & lhs, t rhs) noexcept
101 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
107 template <
typename t>
108 constexpr t & operator|= (t & lhs, t rhs) noexcept
109 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
115 template <
typename t>
116 constexpr t & operator^= (t & lhs, t rhs) noexcept
117 requires std::is_enum_v<t> && add_enum_bitwise_operators<t>
constexpr bool add_enum_bitwise_operators
Set to true for a scoped enum to have binary operators overloaded.
Definition: add_enum_bitwise_operators.hpp:62
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:58
Provides C++20 additions to the type_traits header.
auto operator|(validator1_type &&vali1, validator2_type &&vali2)
Enables the chaining of validators. !
Definition: validators.hpp:671