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; }