142 void Output(std::ostream &)
const;
186 rhs.
Output(os);
return os;
194 UInt_t new_size = (newbitnumber / 8) + 1;
202 delete[] old_location;
210 if (bitnumber >=
fNbits) {
230 Bool_t result = (value & (1<<bit)) != 0;
263 return !
fBits.TestBitNumber(fPos);
266inline TBits::TReference::operator
Bool_t()
const
270 return fBits.TestBitNumber(fPos);
unsigned long long ULong64_t
#define ClassDef(name, id)
std::ostream & operator<<(std::ostream &os, const TBits &rhs)
Bool_t operator&(const TBits::TReference &lhs, const TBits::TReference &rhs)
Bool_t operator|(const TBits::TReference &lhs, const TBits::TReference &rhs)
Bool_t operator^(const TBits::TReference &lhs, const TBits::TReference &rhs)
TReference & operator=(Bool_t val)
TReference(TBits &bit, UInt_t pos)
TBits operator>>(UInt_t rhs)
void DoRightShift(UInt_t shift)
Execute the left shift operation.
void DoAndEqual(const TBits &rhs)
Execute (*this) &= rhs; Extra bits in rhs are ignored Missing bits in rhs are assumed to be zero.
TBits operator<<(UInt_t rhs)
Bool_t operator==(const TBits &other) const
void Resize(UInt_t newlen)
void ResetBitNumber(UInt_t bitnumber)
TBits & operator>>=(UInt_t rhs)
void Clear(Option_t *option="")
Clear the value.
void Set(UInt_t nbits, const UChar_t *array)
void DoXorEqual(const TBits &rhs)
Execute (*this) ^= rhs; Extra bits in rhs are ignored Missing bits in rhs are assumed to be zero.
void Print(Option_t *option="") const
Print the list of active bits.
UInt_t LastNullBit(UInt_t startBit=999999999) const
Return position of first null bit (starting from position 0 and up)
void ResetAllBits(Bool_t value=kFALSE)
Reset all bits to 0 (false).
void Set(UInt_t nbits, const ULong64_t *array)
void Get(UInt_t *array) const
TBits & operator^=(const TBits &rhs)
void ReserveBytes(UInt_t nbytes)
Reverse each bytes.
void DoOrEqual(const TBits &rhs)
Execute (*this) &= rhs; Extra bits in rhs are ignored Missing bits in rhs are assumed to be zero.
void Set(UInt_t nbits, const UInt_t *array)
TBits & operator|=(const TBits &rhs)
void Paint(Option_t *option="")
Once implemented, it will draw the bit field as an histogram.
void Output(std::ostream &) const
Print the value to the std::ostream.
void Get(ULong64_t *array) const
void Set(UInt_t nbits, const UShort_t *array)
void Get(Char_t *array) const
Copy all the byes.
void Get(UShort_t *array) const
UInt_t FirstNullBit(UInt_t startBit=0) const
Return position of first null bit (starting from position 0 and up)
UInt_t FirstSetBit(UInt_t startBit=0) const
Return position of first non null bit (starting from position 0 and up)
UInt_t CountBits(UInt_t startBit=0) const
Return number of bits set to 1 starting at bit startBit.
void Get(UChar_t *array) const
void Compact()
Reduce the storage used by the object to a minimun.
TBits::TReference operator[](UInt_t bitnumber)
void DoLeftShift(UInt_t shift)
Execute the left shift operation.
virtual ~TBits()
TBits destructor.
TBits & operator&=(const TBits &rhs)
TBits & operator=(const TBits &)
TBits assignment operator.
Bool_t TestBitNumber(UInt_t bitnumber) const
TBits & operator<<=(UInt_t rhs)
TBits(UInt_t nbits=8)
TBits constructor. All bits set to 0.
Bool_t operator!=(const TBits &other) const
void DoFlip()
Execute ~(*this)
void Set(UInt_t nbits, const Char_t *array)
Set all the bytes.
void SetBitNumber(UInt_t bitnumber, Bool_t value=kTRUE)
UInt_t LastSetBit(UInt_t startBit=999999999) const
Return position of first non null bit (starting from position 0 and up)
Mother of all ROOT objects.
UInt_t fBits
bit field status word