16 #ifndef ROO_LINKED_LIST 17 #define ROO_LINKED_LIST 84 void Print(
const char* opt)
const ;
122 template <
bool ascending>
126 typedef RooLinkedListImplDetails::Pool
Pool;
Int_t IndexOf(const char *name) const
Return position of given object in list.
static RooLinkedListElem * mergesort_impl(RooLinkedListElem *l1, const unsigned sz, RooLinkedListElem **tail=0)
length 0, 1 lists are sorted
TObject * FindObject(const char *name) const
Return pointer to obejct with given name.
const char * GetName() const
Returns name of object.
RooHashTable * _htableLink
Hash table by name.
ULong_t Hash() const
Return hash value for this object.
virtual Bool_t Remove(TObject *arg)
Remove object from collection.
void setHashTableSize(Int_t size)
Change the threshold for hash-table use to given size.
TObject * find(const char *name) const
Return pointer to object with given name in collection.
virtual TObject * Clone(const char *=0) const
Make a clone of an object using the Streamer facility.
RooFIter fwdIterator() const
Int_t getHashTableSize() const
RooLinkedListImplDetails::Pool Pool
memory pool for quick allocation of RooLinkedListElems
void Clear(Option_t *o=0)
Remove all elements from collection.
void SetName(const char *name)
Iterator abstract base class.
void Sort(Bool_t ascend=kTRUE)
UInt_t Hash(ECaseCompare cmp=kExact) const
Return hash value.
Bool_t Replace(const TObject *oldArg, const TObject *newArg)
Replace object 'oldArg' in collection with new object 'newArg'.
virtual void RecursiveRemove(TObject *obj)
If one of the TObject we have a referenced to is deleted, remove the reference.
#define ClassDef(name, id)
RooLinkedListElem * _first
TString _name
Hash table by link pointer.
RooHashTable implements a hash table for TObjects.
RooLinkedListElem * findLink(const TObject *arg) const
Find the element link containing the given object.
void useNptr(Bool_t flag)
virtual void Add(TObject *arg)
RooLinkedList(Int_t htsize=0)
TObject * At(Int_t index) const
Return object stored in sequential position given by index.
RooLinkedListIter iterator(Bool_t dir=kTRUE) const
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
void Delete(Option_t *o=0)
Remove all elements in collection and delete all elements NB: Collection does not own elements...
RooLinkedList & operator=(const RooLinkedList &other)
Assignment operator, copy contents from 'other'.
Mother of all ROOT objects.
RooLinkedListElem * _last
Link to first element of list.
void deleteElement(RooLinkedListElem *)
static Pool * _pool
shared memory pool for allocation of RooLinkedListElems
TIterator * MakeIterator(Bool_t dir=kTRUE) const
Return an iterator over this list.
void Print(const char *opt) const
Print contents of list, defers to Print() function of contained objects.
virtual ~RooLinkedList()
Destructor.
RooAbsArg * findArg(const RooAbsArg *) const
Return pointer to object with given name in collection.
RooLinkedListElem is an link element for the RooLinkedList class.
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
RooLinkedListElem * createElement(TObject *obj, RooLinkedListElem *elem=0)
cout << "RooLinkedList::createElem(" << this << ") obj = " << obj << " elem = " << elem << endl ; ...
RooLinkedListIter is the TIterator implementation for RooLinkedList.
RooHashTable * _htableName
Link to last element of list.
const char * Data() const