KaliVeda
Toolkit for HIC analysis
KVUniqueNameList.h
1 
4 #ifndef __KVUNIQUENAMELIST_H
5 #define __KVUNIQUENAMELIST_H
6 
7 #include "KVHashList.h"
8 
101 class KVUniqueNameList : public KVHashList {
104 
106 
107 public:
108  KVUniqueNameList(Bool_t R = kFALSE);
109  void AddFirst(TObject* obj) override
110  {
113 
115  };
116  void AddLast(TObject* obj) override
117  {
120 
121  if ((fLastCheck = checkObjInList(obj))) KVHashList::AddLast(obj);
122  };
123  void AddAt(TObject* obj, Int_t idx) override
124  {
127 
128  if ((fLastCheck = checkObjInList(obj))) KVHashList::AddAt(obj, idx);
129  };
130  void AddAfter(const TObject* after, TObject* obj) override
131  {
134 
135  if ((fLastCheck = checkObjInList(obj))) KVHashList::AddAfter(after, obj);
136  };
137  void AddBefore(const TObject* before, TObject* obj) override
138  {
141 
142  if ((fLastCheck = checkObjInList(obj))) KVHashList::AddBefore(before, obj);
143  };
144  void Add(TObject* obj) override
145  {
148 
149  if ((fLastCheck = checkObjInList(obj))) KVHashList::Add(obj);
150  };
151 
153  {
156 
157  Bool_t save = fLastCheck;
158  fLastCheck = kFALSE;
159  return save;
160  }
161  void ReplaceObjects(Bool_t yes = kTRUE)
162  {
163  fReplace = yes;
164  }
165 
166  ClassDefOverride(KVUniqueNameList, 2) //Optimised list in which objects with the same name can only be placed once
167 };
168 
169 #endif
int Int_t
bool Bool_t
constexpr Bool_t kFALSE
#define ClassDefOverride(name, id)
Extended version of ROOT THashList.
Definition: KVHashList.h:29
void Add(TObject *obj) override
void AddAfter(const TObject *after, TObject *obj) override
void AddLast(TObject *obj) override
void AddBefore(const TObject *before, TObject *obj) override
void AddAt(TObject *obj, Int_t idx) override
void AddFirst(TObject *obj) override
Optimised list in which named objects can only be placed once.
Bool_t ObjectAdded() const
void AddAt(TObject *obj, Int_t idx) override
void AddAfter(const TObject *after, TObject *obj) override
Bool_t checkObjInList(TObject *obj)
void AddFirst(TObject *obj) override
Bool_t fLastCheck
return value of last call to checkobj
void ReplaceObjects(Bool_t yes=kTRUE)
void AddLast(TObject *obj) override
void Add(TObject *obj) override
void AddBefore(const TObject *before, TObject *obj) override
KVUniqueNameList(Bool_t R=kFALSE)
Default constructor.
Bool_t fReplace
if kTRUE, objects with same name are replaced