18 #include <forward_list>
28 ClassImp(TListOfEnumsWithLock);
32 TListOfEnumsWithLock::TListOfEnumsWithLock(TClass *cl ) :
40 TListOfEnumsWithLock::~TListOfEnumsWithLock()
47 void TListOfEnumsWithLock::AddFirst(TObject *obj)
49 R__LOCKGUARD(gInterpreterMutex);
50 TListOfEnums::AddFirst(obj);
60 void TListOfEnumsWithLock::AddFirst(TObject *obj, Option_t *opt)
62 R__LOCKGUARD(gInterpreterMutex);
63 TListOfEnums::AddFirst(obj, opt);
69 void TListOfEnumsWithLock::AddLast(TObject *obj)
71 R__LOCKGUARD(gInterpreterMutex);
72 TListOfEnums::AddLast(obj);
82 void TListOfEnumsWithLock::AddLast(TObject *obj, Option_t *opt)
84 R__LOCKGUARD(gInterpreterMutex);
85 TListOfEnums::AddLast(obj, opt);
91 void TListOfEnumsWithLock::AddAt(TObject *obj, Int_t idx)
93 R__LOCKGUARD(gInterpreterMutex);
94 TListOfEnums::AddAt(obj, idx);
100 void TListOfEnumsWithLock::AddAfter(
const TObject *after, TObject *obj)
102 R__LOCKGUARD(gInterpreterMutex);
103 TListOfEnums::AddAfter(after, obj);
109 void TListOfEnumsWithLock::AddAfter(TObjLink *after, TObject *obj)
111 R__LOCKGUARD(gInterpreterMutex);
112 TListOfEnums::AddAfter(after, obj);
118 void TListOfEnumsWithLock::AddBefore(
const TObject *before, TObject *obj)
120 R__LOCKGUARD(gInterpreterMutex);
121 TListOfEnums::AddBefore(before, obj);
127 void TListOfEnumsWithLock::AddBefore(TObjLink *before, TObject *obj)
129 R__LOCKGUARD(gInterpreterMutex);
130 TListOfEnums::AddBefore(before, obj);
137 void TListOfEnumsWithLock::Clear(Option_t *option)
139 R__LOCKGUARD(gInterpreterMutex);
140 TListOfEnums::Clear(option);
146 void TListOfEnumsWithLock::Delete(Option_t *option )
148 R__LOCKGUARD(gInterpreterMutex);
149 TListOfEnums::Delete(option);
156 TObject *TListOfEnumsWithLock::FindObject(
const char *name)
const
158 R__LOCKGUARD(gInterpreterMutex);
159 TObject *result = TListOfEnums::FindObject(name);
163 TInterpreter::DeclId_t decl;
164 if (GetClass()) decl = gInterpreter->GetEnum(GetClass(), name);
165 else decl = gInterpreter->GetEnum(0, name);
166 if (decl) result =
const_cast<TListOfEnumsWithLock *
>(
this)->Get(decl, name);
174 TObject* TListOfEnumsWithLock::FindObject(
const TObject* obj)
const
176 R__LOCKGUARD(gInterpreterMutex);
177 return TListOfEnums::FindObject(obj);
184 TEnum *TListOfEnumsWithLock::GetObject(
const char *name)
const
186 R__LOCKGUARD(gInterpreterMutex);
187 return (TEnum*)THashList::FindObject(name);
199 void TListOfEnumsWithLock::RecursiveRemove(TObject *obj)
203 R__LOCKGUARD(gInterpreterMutex);
204 TListOfEnums::RecursiveRemove(obj);
210 TObject *TListOfEnumsWithLock::Remove(TObject *obj)
212 R__LOCKGUARD(gInterpreterMutex);
213 return TListOfEnums::Remove(obj);
219 TObject *TListOfEnumsWithLock::Remove(TObjLink *lnk)
223 R__LOCKGUARD(gInterpreterMutex);
224 return TListOfEnums::Remove(lnk);
229 TIterator* TListOfEnumsWithLock::MakeIterator(Bool_t dir )
const
231 R__LOCKGUARD(gInterpreterMutex);
232 return new TListOfEnumsWithLockIter(
this,dir);
237 TObject* TListOfEnumsWithLock::At(Int_t idx)
const
239 R__LOCKGUARD(gInterpreterMutex);
240 return TListOfEnums::At(idx);
245 TObject* TListOfEnumsWithLock::After(
const TObject *obj)
const
247 R__LOCKGUARD(gInterpreterMutex);
248 return TListOfEnums::After(obj);
253 TObject* TListOfEnumsWithLock::Before(
const TObject *obj)
const
255 R__LOCKGUARD(gInterpreterMutex);
256 return TListOfEnums::Before(obj);
261 TObject* TListOfEnumsWithLock::First()
const
263 R__LOCKGUARD(gInterpreterMutex);
264 return TListOfEnums::First();
269 TObjLink* TListOfEnumsWithLock::FirstLink()
const
271 R__LOCKGUARD(gInterpreterMutex);
272 return TListOfEnums::FirstLink();
277 TObject** TListOfEnumsWithLock::GetObjectRef(
const TObject *obj)
const
279 R__LOCKGUARD(gInterpreterMutex);
280 return TListOfEnums::GetObjectRef(obj);
285 TObject* TListOfEnumsWithLock::Last()
const
287 R__LOCKGUARD(gInterpreterMutex);
288 return TListOfEnums::Last();
293 TObjLink* TListOfEnumsWithLock::LastLink()
const
295 R__LOCKGUARD(gInterpreterMutex);
296 return TListOfEnums::LastLink();
302 Int_t TListOfEnumsWithLock::GetLast()
const
304 R__LOCKGUARD(gInterpreterMutex);
305 return TListOfEnums::GetLast();
310 Int_t TListOfEnumsWithLock::IndexOf(
const TObject *obj)
const
312 R__LOCKGUARD(gInterpreterMutex);
313 return TListOfEnums::IndexOf(obj);
319 Int_t TListOfEnumsWithLock::GetSize()
const
321 R__LOCKGUARD(gInterpreterMutex);
322 return TListOfEnums::GetSize();
329 ClassImp(TListOfEnumsWithLockIter);
333 TListOfEnumsWithLockIter::TListOfEnumsWithLockIter(
const TListOfEnumsWithLock *l, Bool_t dir ):
338 TObject *TListOfEnumsWithLockIter::Next()
340 R__LOCKGUARD(gInterpreterMutex);
341 return TListIter::Next();