3#include <misc/gen/TSet.h>
51 int _mask[_size /
sizeof(int) + 1]{};
64 if (bit < Size && bit >= 0)
66 return (_mask[bit / (
sizeof(
int) * CHAR_BIT)] & (1 << (bit % (
sizeof(
int) * CHAR_BIT))));
74 if (bit < Size && bit >= 0)
76 _mask[bit / (
sizeof(int) * CHAR_BIT)] |= (1 << (bit % (
sizeof(int) * CHAR_BIT)));
83 if (bit < Size && bit >= 0)
85 _mask[bit / (
sizeof(int) * CHAR_BIT)] &= ~(1 << (bit % (
sizeof(int) * CHAR_BIT)));
93 memset(&_mask, 0,
sizeof(_mask));
100 for (
size_t i = 0; i <
sizeof(_mask) /
sizeof(
int); i++)
Template for creating large memory inexpensive bitmasks or bit sets.
Definition TBitSet.h:15
TBitSet()
Default constructor.
Definition TBitSet.h:55
void set(int bit)
Sets a single bit.
Definition TBitSet.h:72
void reset(int bit)
Resets a single bit.
Definition TBitSet.h:81
bool has(int bit)
Tests if a bit has been Set.
Definition TBitSet.h:62
bool isClear()
Returns true if one of the bits has been Set.
Definition TBitSet.h:97
void clear()
Clears all bits.
Definition TBitSet.h:90
Definition Application.h:10