#ifndef ROO_LINKED_LIST
#define ROO_LINKED_LIST
#include "TObject.h"
#include "RooLinkedListElem.h"
#include "RooHashTable.h"
class RooLinkedListIter ;
class TIterator ;
class RooLinkedList : public TObject {
public:
RooLinkedList(Int_t htsize=0) ;
RooLinkedList(const RooLinkedList& other) ;
RooLinkedList& operator=(const RooLinkedList& other) ;
Int_t getHashTableSize() const {
return _htableName ? _htableName->size() : 0 ;
}
void setHashTableSize(Int_t size) ;
virtual ~RooLinkedList() ;
Int_t GetSize() const { return _size ; }
virtual void Add(TObject* arg) { Add(arg,1) ; }
virtual Bool_t Remove(TObject* arg) ;
TObject* At(Int_t index) const ;
Bool_t Replace(const TObject* oldArg, const TObject* newArg) ;
TIterator* MakeIterator(Bool_t dir=kTRUE) const ;
RooLinkedListIter iterator(Bool_t dir=kTRUE) const ;
void Clear(Option_t *o=0) ;
void Delete(Option_t *o=0) ;
TObject* find(const char* name) const ;
TObject* FindObject(const char* name) const ;
TObject* FindObject(const TObject* obj) const ;
Int_t IndexOf(const TObject* arg) const ;
TObject* First() const {
return _first?_first->_arg:0 ;
}
void Print(const char* opt) const ;
void Sort(Bool_t ascend) ;
protected:
friend class RooLinkedListIter ;
virtual void Add(TObject* arg, Int_t refCount) ;
void swapWithNext(RooLinkedListElem* elem) ;
RooLinkedListElem* findLink(const TObject* arg) const ;
Int_t _hashThresh ;
Int_t _size ;
RooLinkedListElem* _first ;
RooLinkedListElem* _last ;
RooHashTable* _htableName ;
RooHashTable* _htableLink ;
ClassDef(RooLinkedList,1)
};
#endif
Last change: Wed Jun 25 08:33:21 2008
Last generated: 2008-06-25 08:33
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.