10 TBitFlag() { makeAllZero(); }
15 operator T()
const {
return mValue; }
17 void makeAllZero() { mValue =
static_cast<T
>(0); }
18 bool isZero()
const {
return mValue == 0; }
20 T getDirect()
const {
return mValue; }
21 void setDirect(T value) { mValue = value; }
27 void set(T mask) { mValue |= mask; }
28 void reset(T mask) { mValue &= ~mask; }
29 void change(T mask,
bool on) { on ? set(mask) : reset(mask); }
30 bool on(T mask)
const {
return mValue & mask; }
31 bool off(T mask)
const {
return !on(mask); }
36 void setBit(u8 bit) { set(makeMask(bit)); }
37 void resetBit(u8 bit) { reset(makeMask(bit)); }
39 void changeBit(u8 bit,
bool on) { change(makeMask(bit), on); }
40 void toggleBit(u8 bit) { changeBit(bit, !onBit(bit)); }
42 bool onBit(u8 bit)
const {
return on(makeMask(bit)); }
43 bool offBit(u8 bit)
const {
return off(makeMask(bit)); }
46 T makeMask(u8 bit)
const {
return 1 << bit; }