BitSet.h
Go to the documentation of this file.
49 static_assert(std::is_enum<E>::value || (std::is_integral<E>::value && std::is_unsigned<E>::value),
87 template <typename S2> constexpr BitSet(const BitSet<S2, E>& bitset) : bitSetValue(bitset.value())
97 }
105 }
113 }
168 {
186 bitSetValue |= rhs.bitSetValue;
194 {
203 {
212 {
221 {
326 {
384 }
403 inline constexpr BitSet<S, E, size_> operator&(const BitSet<S, E, size_>& x, const BitSet<S, E, size_>& y)
421 inline constexpr BitSet<S, E, size_> operator+(const BitSet<S, E, size_>& x, const BitSet<S, E, size_>& y)
427 inline constexpr BitSet<S, E, size_> operator-(const BitSet<S, E, size_>& x, const BitSet<S, E, size_>& y)
467 typename std::enable_if<std::is_enum<E>::value && !std::is_convertible<E, int>::value, BitSet<uint32_t, E>>::type
475 typename std::enable_if<std::is_enum<E>::value && !std::is_convertible<E, int>::value, BitSet<uint32_t, E>>::type
BitSet & operator|=(const BitSet &rhs)
Union: Add elements to set.
Definition: BitSet.h:221
BitSet & operator-=(const BitSet &rhs)
Remove elements from set.
Definition: BitSet.h:203
constexpr BitSet< S, E, size_ > operator^(BitSet< S, E, size_ > x, BitSet< S, E, size_ > y)
Definition: BitSet.h:445
BitSet & operator^=(const BitSet &rhs)
XOR - toggle state of bits using another set.
Definition: BitSet.h:230
BitSet & operator&=(const BitSet &rhs)
Intersection: Leave only elements common to both sets.
Definition: BitSet.h:212
static constexpr BitSet domain()
Get the set of all possible values.
Definition: BitSet.h:152
constexpr BitSet< S, E, size_ > operator|(BitSet< S, E, size_ > x, BitSet< S, E, size_ > y)
Definition: BitSet.h:409
std::enable_if< std::is_integral< T >::value, String >::type toString(T value)
Definition: BitSet.h:481
Definition: BitSet.h:64
constexpr BitSet< S, E, size_ > operator-(const BitSet< S, E, size_ > &x, const BitSet< S, E, size_ > &y)
Definition: BitSet.h:427
bool operator==(const BitSet &other) const
Compare this set with another for equality.
Definition: BitSet.h:120
constexpr BitSet operator~() const
Obtain a set containing all elements not in this one.
Definition: BitSet.h:136
bool operator!=(const BitSet &other) const
Compare this set with another for inequality.
Definition: BitSet.h:128
static constexpr size_t size()
Get the number of possible elements in the set.
Definition: BitSet.h:144
constexpr BitSet< S, E, size_ > operator&(const BitSet< S, E, size_ > &x, const BitSet< S, E, size_ > &y)
Definition: BitSet.h:403
size_t printTo(Print &p, const String &separator=", ") const
Class template to print the contents of a BitSet to a String.
Definition: BitSet.h:384
size_t count() const
Get the number of elements in the set, i.e. bits set to 1.
Definition: BitSet.h:186
BitSet & operator+=(const BitSet &rhs)
Union: Add elements to set.
Definition: BitSet.h:194
static constexpr S bitVal(E e)
Get the bitmask corresponding to a given value.
Definition: BitSet.h:160
constexpr BitSet< S, E, size_ > operator+(const BitSet< S, E, size_ > &x, const BitSet< S, E, size_ > &y)
Definition: BitSet.h:421
size_t length(void) const
Obtain the String length in characters, excluding NUL terminator.
Definition: WString.h:243