145 void Output(std::ostream &)
const;
189 rhs.
Output(os);
return os;
198 if (bitnumber >=
fNbits) {
199 UInt_t new_size = (bitnumber/8) + 1;
207 delete [] old_location;
227 Bool_t result = (value & (1<<bit)) != 0;
265 inline TBits::TReference::operator
Bool_t()
const Bool_t operator &(const TBits::TReference &lhs, const TBits::TReference &rhs)
void Output(std::ostream &) const
Print the value to the std::ostream.
void Set(UInt_t nbits, const UInt_t *array)
TBits::TReference operator[](UInt_t bitnumber)
void Print(Option_t *option="") const
Print the list of active bits.
void Clear(Option_t *option="")
Clear the value.
void Set(UInt_t nbits, const Char_t *array)
Set all the bytes.
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)
void Get(ULong64_t *array) const
Bool_t operator!=(const TBits &other) const
void Get(UShort_t *array) const
TReference(TBits &bit, UInt_t pos)
void DoRightShift(UInt_t shift)
Execute the left shift operation.
void ResetAllBits(Bool_t value=kFALSE)
Reset all bits to 0 (false).
#define ClassDef(name, id)
TBits & operator=(const TBits &)
TBits assignment operator.
Bool_t operator==(const TBits &other) const
virtual ~TBits()
TBits destructor.
void DoOrEqual(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 TestBitNumber(UInt_t bitnumber) const
void Get(Char_t *array) const
Copy all the byes.
UInt_t LastSetBit(UInt_t startBit=999999999) const
Return position of first non null bit (starting from position 0 and up)
UInt_t LastNullBit(UInt_t startBit=999999999) 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)
void Get(UInt_t *array) const
void Set(UInt_t nbits, const ULong64_t *array)
void Compact()
Reduce the storage used by the object to a minimun.
void Get(UChar_t *array) const
TBits & operator|=(const TBits &rhs)
TBits operator>>(UInt_t rhs)
void DoLeftShift(UInt_t shift)
Execute the left shift operation.
void DoXorEqual(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 UShort_t *array)
TBits & operator &=(const TBits &rhs)
unsigned long long ULong64_t
TBits(UInt_t nbits=8)
TBits constructor. All bits set to 0.
Mother of all ROOT objects.
void Paint(Option_t *option="")
Once implemented, it will draw the bit field as an histogram.
Bool_t operator^(const TBits::TReference &lhs, const TBits::TReference &rhs)
void DoFlip()
Execute ~(*this)
void ResetBitNumber(UInt_t bitnumber)
TBits operator<<(UInt_t rhs)
void Set(UInt_t nbits, const UChar_t *array)
UInt_t CountBits(UInt_t startBit=0) const
Return number of bits set to 1 starting at bit startBit.
Bool_t operator|(const TBits::TReference &lhs, const TBits::TReference &rhs)
void ReserveBytes(UInt_t nbytes)
Reverse each bytes.
void SetBitNumber(UInt_t bitnumber, Bool_t value=kTRUE)
UInt_t FirstNullBit(UInt_t startBit=0) const
Return position of first null bit (starting from position 0 and up)
TReference & operator=(Bool_t val)
TBits & operator^=(const TBits &rhs)