Lines Matching refs:element
31 constexpr bool contains(E element) const {
32 return (bits_ & Mask(element)) != 0;
37 void Add(E element) { bits_ |= Mask(element); }
39 void Remove(E element) { bits_ &= ~Mask(element); }
62 constexpr EnumSet operator|(E element) const {
63 return EnumSet(bits_ | Mask(element));
65 constexpr EnumSet operator&(E element) const {
66 return EnumSet(bits_ & Mask(element));
68 constexpr EnumSet operator-(E element) const {
69 return EnumSet(bits_ & ~Mask(element));
72 EnumSet& operator|=(E element) { return *this = *this | element; }
73 EnumSet& operator&=(E element) { return *this = *this & element; }
74 EnumSet& operator-=(E element) { return *this = *this - element; }
81 static constexpr T Mask(E element) {
82 DCHECK_GT(sizeof(T) * 8, static_cast<size_t>(element));
83 return T{1} << static_cast<typename std::underlying_type<E>::type>(element);