Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Grindstone::Containers::BitsetFlags< Enum > Class Template Reference

Classes

struct  Iterator
 

Public Types

using UnderlyingType = std::underlying_type_t<Enum>
 
using Traits = EnumFlagsTraits<Enum>
 

Public Member Functions

 BitsetFlags (const BitsetFlags &)=default
 
 BitsetFlags (BitsetFlags &&)=default
 
 BitsetFlags (Enum enumValue)
 
BitsetFlagsoperator= (const BitsetFlags &other)
 
BitsetFlagsoperator= (BitsetFlags &&other)
 
BitsetFlagsoperator= (Enum enumValue)
 
void Set ()
 
void Set (uint32_t bitIndex)
 
void Set (Enum e)
 
void Set (uint32_t bitIndex, bool shouldSet)
 
void Set (Enum e, bool shouldSet)
 
void Unset ()
 
void Unset (uint32_t index)
 
void Unset (Enum e)
 
void Flip ()
 
void Flip (uint32_t index)
 
void Flip (Enum e)
 
bool Test (uint32_t index) const
 
bool Test (Enum e) const
 
Enum GetValueEnum () const
 
UnderlyingType GetValueUnderlying () const
 
bool Any () const
 
bool None () const
 
BitsetFlagsoperator&= (const BitsetFlags &other) const
 
BitsetFlagsoperator|= (const BitsetFlags &other) const
 
BitsetFlagsoperator^= (const BitsetFlags &other) const
 
BitsetFlags operator& (const BitsetFlags &other) const
 
BitsetFlags operator| (const BitsetFlags &other) const
 
BitsetFlags operator^ (const BitsetFlags &other) const
 
BitsetFlags operator~ () const
 
bool operator[] (uint32_t index) const
 
bool operator[] (Enum e) const
 
bool operator== (const BitsetFlags &other) const
 
bool operator!= (const BitsetFlags &other) const
 
Iterator begin () const
 
Iterator end () const
 

Static Public Member Functions

static constexpr uint32_t GetBitCount ()
 
static constexpr const char * GetFlagNameByIndex (uint32_t index)
 
static constexpr const char * GetFlagName (Enum e)
 

Static Public Attributes

static constexpr uint32_t bitsPerWord = (CHAR_BIT * sizeof(UnderlyingType))
 
static constexpr uint32_t enumBitCount = Traits::size
 

Protected Attributes

UnderlyingType value = 0
 

The documentation for this class was generated from the following file: