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)
BitsetFlags & operator= (const BitsetFlags &other)
BitsetFlags & operator= (BitsetFlags &&other)
BitsetFlags & operator= (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
BitsetFlags & operator&= (const BitsetFlags &other)
BitsetFlags & operator|= (const BitsetFlags &other)
BitsetFlags & operator^= (const BitsetFlags &other)
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:
  • /github/workspace/sources/code/Common/Containers/Bitset.hpp