11 #include <type_traits> 19 using St_t = std::underlying_type_t<T>;
25 : Storage_ {
static_cast<St_t
> (t) }
29 explicit operator bool ()
const 36 Storage_ &= other.Storage_;
42 Storage_ |= other.Storage_;
60 #define DECLARE_BIT_FLAGS(F) \ 61 inline LC::Util::BitFlags<F> operator& (F left, F right) \ 63 return LC::Util::BitFlags<F> { left } & right; \ 65 inline LC::Util::BitFlags<F> operator| (F left, F right) \ 67 return LC::Util::BitFlags<F> { left } | right; \ BitFlags & operator|=(BitFlags other)
friend BitFlags operator &(BitFlags left, BitFlags right)
requires(Tup1Size==Tup2Size) const expr auto ZipWith(Tup1 &&tup1
friend BitFlags operator|(BitFlags left, BitFlags right)
BitFlags & operator &=(BitFlags other)