46 _hashMethod(hashMethod)
66 _hashMethod(other._hashMethod),
67 _usedSlots(other._usedSlots),
68 _entries(other._entries),
74 for (i=0 ; i<
_size ; i++) {
109 if (
_arr[slot]->Remove(arg)) {
111 if (
_arr[slot]->GetSize()==0) {
129 for (i=0 ; i<
_size ; i++) {
130 if (i != slot &&
_arr[i] &&
_arr[i]->Remove(arg)) {
132 if (
_arr[i]->GetSize()==0) {
152 for (i=0 ; i<20 ; i++)
h[i]=0 ;
154 for (i=0 ; i<
_size ; i++) {
181 if (newSlot == slot) {
229 return elem ? elem->
_arg : 0 ;
246 while ((obj=it.
next())) {
248 if (elem->
_arg == hashArg)
return elem ;
286 for (i=0 ; i<
_size ; i++) {
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
const TNamed * namePtr() const
RooArgSet is a container object that can hold multiple RooAbsArg objects.
A one-time forward iterator working on RooLinkedList or RooAbsCollection.
RooAbsArg * next()
Return next element or nullptr if at end.
RooHashTable implements a hash table for TObjects.
Bool_t remove(TObject *arg, TObject *hashArg=0)
Remove given object from table.
RooLinkedListElem * findLinkTo(const TObject *arg) const
Return RooLinkedList element link to object 'hashArg'.
Bool_t replace(const TObject *oldArg, const TObject *newArg, const TObject *oldHashArg=0)
Replace oldArg with newArg in the table.
ULong_t hash(const TObject *arg) const
RooSetPair * findSetPair(const RooArgSet *set1, const RooArgSet *set2) const
Return RooSetPair with given pointers in table.
TObject * find(const char *name) const
Return the object with given name from the table.
virtual ~RooHashTable()
Destructor.
RooHashTable(Int_t initSize=17, HashMethod hashMethod=Name)
Construct a hash table with given capacity and hash method.
Double_t avgCollisions() const
Calculate the average number of collisions (table slots with >1 filled entry)
void add(TObject *arg, TObject *hashArg=0)
Add given object to table.
RooAbsArg * findArg(const RooAbsArg *arg) const
RooLinkedListElem is an link element for the RooLinkedList class.
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
RooFIter fwdIterator() const
Create a one-time-use forward iterator for this list.
RooAbsArg * findArg(const RooAbsArg *) const
Return pointer to object with given name in collection.
TObject * find(const char *name) const
Return pointer to object with given name in collection.
virtual void Add(TObject *arg)
void useNptr(Bool_t flag)
Bool_t Replace(const TObject *oldArg, const TObject *newArg)
Replace object 'oldArg' in collection with new object 'newArg'.
RooSetPair is a utility class that stores a pair of RooArgSets.
virtual ULong_t Hash() const
Return hash value for this object.
virtual const char * GetName() const
Returns name of object.
Mother of all ROOT objects.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
Long_t NextPrime(Long_t x)
TMath Base functions.
Short_t Max(Short_t a, Short_t b)
ULong_t Hash(const void *txt, Int_t ntxt)
Calculates hash index from any char string.