class
Flags
template<typename Enum, typename Storage = u32>Wrapper around an enum that allows simple use of bitwise logic operations.
Public
Constructors
Flags<Enum, Storage>
Flags<Enum, Storage>() = default
Flags<Enum, Storage>
constexpr Flags<Enum, Storage>(Enum value)
Flags<Enum, Storage>
Methods
IsSet
bool IsSet(Enum value) const
Checks whether all of the provided bits are set
IsSetAny
bool IsSetAny(Enum value) const
Checks whether any of the provided bits are set
IsSetAny
Checks whether any of the provided bits are set
IsSetAll
Checks whether all of the provided bits are set
Unset
void Unset(Enum value)
Deactivates all of the provided bits.
Operators
operator==
bool operator==(Enum rhs) const
operator==
operator==
bool operator==(bool rhs) const
operator!=
bool operator!=(Enum rhs) const
operator!=
operator=
Flags<Enum, Storage> &operator=(Enum rhs)
operator|=
Flags<Enum, Storage> &operator|=(Enum rhs)
operator|
Flags<Enum, Storage> operator|(Enum rhs) const
operator&=
Flags<Enum, Storage> &operator&=(Enum rhs)
operator&
Flags<Enum, Storage> operator&(Enum rhs) const
operator^=
Flags<Enum, Storage> &operator^=(Enum rhs)
operator^
Flags<Enum, Storage> operator^(Enum rhs) const
operator~
Flags<Enum, Storage> operator~() const
operator bool
operator bool() const
operator unsigned char
operator u8() const
operator unsigned short
operator u16() const
operator unsigned int
operator u32() const
Private
Fields
mBits
InternalType mBits