Logo ROOT  
Reference Guide
TListOfEnumsWithLock.h
Go to the documentation of this file.
1// @(#)root/cont
2// Author: Bianca-Cristina Cristescu February 2014
3
4/*************************************************************************
5 * Copyright (C) 1995-2013, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TListOfEnumsWithLock
13#define ROOT_TListOfEnumsWithLock
14
15//////////////////////////////////////////////////////////////////////////
16// //
17// TListOfEnumsWithLock //
18// //
19// A collection of TEnum objects designed for fast access given a //
20// DeclId_t and for keep track of TEnum that were described //
21// unloaded enum. //
22// //
23//////////////////////////////////////////////////////////////////////////
24
25#include "TListOfEnums.h"
26
27class TExMap;
28class TEnum;
29
31{
32private:
34
37
38public:
39
41 ~TListOfEnumsWithLock() override;
42
43 TEnum *GetObject(const char*) const override;
44
45 void Clear(Option_t *option) override;
46 void Delete(Option_t *option="") override;
47
48 TObject *FindObject(const TObject* obj) const override;
49 TObject *FindObject(const char *name) const override;
50 TIterator *MakeIterator(Bool_t dir = kIterForward) const override;
51
52 TObject *At(Int_t idx) const override;
53 TObject *After(const TObject *obj) const override;
54 TObject *Before(const TObject *obj) const override;
55 TObject *First() const override;
56 TObjLink *FirstLink() const override;
57 TObject **GetObjectRef(const TObject *obj) const override;
58 TObject *Last() const override;
59 TObjLink *LastLink() const override;
60
61 Int_t GetLast() const override;
62 Int_t IndexOf(const TObject *obj) const override;
63
64 Int_t GetSize() const override;
65
66 void AddFirst(TObject *obj) override;
67 void AddFirst(TObject *obj, Option_t *opt) override;
68 void AddLast(TObject *obj) override;
69 void AddLast(TObject *obj, Option_t *opt) override;
70 void AddAt(TObject *obj, Int_t idx) override;
71 void AddAfter(const TObject *after, TObject *obj) override;
72 void AddAfter(TObjLink *after, TObject *obj) override;
73 void AddBefore(const TObject *before, TObject *obj) override;
74 void AddBefore(TObjLink *before, TObject *obj) override;
75
76 void RecursiveRemove(TObject *obj) override;
77 TObject *Remove(TObject *obj) override;
78 TObject *Remove(TObjLink *lnk) override;
79
80 ClassDefOverride(TListOfEnumsWithLock,2); // List of TDataMembers for a class
81};
82
83
84//////////////////////////////////////////////////////////////////////////
85// //
86// TListOfEnumsWithLockIter //
87// //
88// Iterator of TListOfEnumsWithLock. //
89// //
90//////////////////////////////////////////////////////////////////////////
92{
93 public:
95
96 using TListIter::operator=;
97
98 TObject *Next();
99
101};
102
103#endif // ROOT_TListOfEnumsWithLock
int Int_t
Definition: RtypesCore.h:45
bool Bool_t
Definition: RtypesCore.h:63
const char Option_t
Definition: RtypesCore.h:66
#define ClassDef(name, id)
Definition: Rtypes.h:325
const Bool_t kIterForward
Definition: TCollection.h:42
char name[80]
Definition: TGX11.cxx:110
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition: TClass.h:80
const void * DeclId_t
Definition: TDictionary.h:223
The TEnum class implements the enum type.
Definition: TEnum.h:33
This class stores a (key,value) pair using an external hash.
Definition: TExMap.h:33
Iterator abstract base class.
Definition: TIterator.h:30
Iterator of linked list.
Definition: TList.h:200
Iterator for TListOfEnumsWithLock.
TListOfEnumsWithLockIter(const TListOfEnumsWithLock *l, Bool_t dir=kIterForward)
TObject * Next()
Return next object in the list. Returns 0 when no more objects in list.
A collection of TEnum objects designed for fast access given a DeclId_t and for keep track of TEnum t...
TObject * At(Int_t idx) const override
Returns the object at position idx. Returns 0 if idx is out of range.
TObject * Last() const override
Return the last object in the list. Returns 0 when list is empty.
TIterator * MakeIterator(Bool_t dir=kIterForward) const override
Return a list iterator.
TEnum * GetObject(const char *) const override
Return an object from the list of enums if and only if is has already been loaded in the list.
void AddBefore(const TObject *before, TObject *obj) override
Insert object before object before in the list.
TObject * FindObject(const TObject *obj) const override
Find object using its hash value (returned by its Hash() member).
ClassDefOverride(TListOfEnumsWithLock, 2)
TObjLink * LastLink() const override
Int_t GetSize() const override
Return the capacity of the collection, i.e.
TObject * First() const override
Return the first object in the list. Returns 0 when list is empty.
void Delete(Option_t *option="") override
Delete all TDataMember object files.
TObject * Before(const TObject *obj) const override
Returns the object before object obj.
void AddFirst(TObject *obj) override
Add object at the beginning of the list.
TObject * Remove(TObject *obj) override
Remove object from the list.
void AddAfter(const TObject *after, TObject *obj) override
Insert object after object after in the list.
Int_t GetLast() const override
Returns index of last object in collection.
void AddAt(TObject *obj, Int_t idx) override
Insert object at location idx in the list.
~TListOfEnumsWithLock() override
Destructor.
void AddLast(TObject *obj) override
Add object at the end of the list.
void Clear(Option_t *option) override
Remove all objects from the list.
TObject ** GetObjectRef(const TObject *obj) const override
Return address of pointer to obj.
TObjLink * FirstLink() const override
TListOfEnumsWithLock(const TListOfEnumsWithLock &)=delete
Int_t IndexOf(const TObject *obj) const override
Return index of object in collection.
TListOfEnumsWithLock & operator=(const TListOfEnumsWithLock &)=delete
void RecursiveRemove(TObject *obj) override
Remove object from this collection and recursively remove the object from all other objects (and coll...
TDictionary::DeclId_t DeclId_t
TObject * After(const TObject *obj) const override
Returns the object after object obj.
A collection of TEnum objects designed for fast access given a DeclId_t and for keep track of TEnum t...
Definition: TListOfEnums.h:33
Mother of all ROOT objects.
Definition: TObject.h:37
auto * l
Definition: textangle.C:4