13 #ifndef ROOT_TDictionary
14 #define ROOT_TDictionary
54 class BaseClassInfo_t;
55 class DataMemberInfo_t;
58 class MethodArgInfo_t;
59 class MethodArgInfo_t;
62 class TDictAttributeMap;
65 kIsClass = 0x00000001,
66 kIsStruct = 0x00000002,
67 kIsUnion = 0x00000004,
69 kIsTypedef = 0x00000010,
70 kIsFundamental = 0x00000020,
71 kIsAbstract = 0x00000040,
72 kIsVirtual = 0x00000080,
73 kIsPureVirtual = 0x00000100,
74 kIsPublic = 0x00000200,
75 kIsProtected = 0x00000400,
76 kIsPrivate = 0x00000800,
77 kIsPointer = 0x00001000,
78 kIsArray = 0x00002000,
79 kIsStatic = 0x00004000,
80 kIsDefault = 0x00008000,
81 kIsReference = 0x00010000,
82 kIsDirectInherit = 0x00020000,
83 kIsCCompiled = 0x00040000,
84 kIsCPPCompiled = kIsCCompiled,
85 kIsCompiled = kIsCCompiled,
86 kIsConstant = 0x00100000,
87 kIsVirtualBase = 0x00200000,
88 kIsConstPointer = 0x00400000,
89 kIsScopedEnum = 0x00800000,
90 kIsConstexpr = 0x02000000,
91 kIsExplicit = 0x04000000,
92 kIsNamespace = 0x08000000,
93 kIsConstMethod = 0x10000000,
94 kIsUsingVariable = 0x20000000,
95 kIsDefinedInStd = 0x40000000
98 enum EFunctionProperty {
123 kIsConstructor = 0x00000001,
124 kIsConversion = 0x00000002,
125 kIsDestructor = 0x00000004,
126 kIsOperator = 0x00000008,
127 kIsInlined = 0x00000010
130 enum EClassProperty {
131 kClassIsValid = 0x00000001,
132 kClassHasExplicitCtor = 0x00000010,
133 kClassHasImplicitCtor = 0x00000020,
134 kClassHasCtor = 0x00000030,
135 kClassHasDefaultCtor = 0x00000040,
136 kClassHasAssignOpr = 0x00000080,
137 kClassHasExplicitDtor = 0x00000100,
138 kClassHasImplicitDtor = 0x00000200,
139 kClassHasDtor = 0x00000300,
140 kClassHasVirtual = 0x00001000,
141 kClassIsAbstract = 0x00002000
144 enum ERefTypeValues {
155 enum EFunctionMatchMode {
162 class TDictionary :
public TNamed {
165 TDictAttributeMap *fAttributeMap;
166 ULong64_t fUpdatingTransactionCount;
169 Bool_t UpdateInterpreterStateMarker();
172 TDictionary(): fAttributeMap(0), fUpdatingTransactionCount(0) { }
173 TDictionary(
const char* name): TNamed(name,
""), fAttributeMap(0), fUpdatingTransactionCount(0) { }
174 TDictionary(
const TDictionary& dict);
175 virtual ~TDictionary();
177 TDictionary& operator=(
const TDictionary& other);
179 void CreateAttributeMap();
180 TDictAttributeMap *GetAttributeMap()
const
185 return fAttributeMap;
187 virtual Long_t Property()
const = 0;
188 static TDictionary* GetDictionary(
const char* name);
189 static TDictionary* GetDictionary(
const std::type_info &typeinfo);
193 kNone = ROOT::kNotSTL,
194 kVector = ROOT::kSTLvector,
195 kList = ROOT::kSTLlist,
196 kForwardlist = ROOT::kSTLforwardlist,
197 kDeque = ROOT::kSTLdeque,
198 kMap = ROOT::kSTLmap,
199 kMultimap = ROOT::kSTLmultimap,
200 kSet = ROOT::kSTLset,
201 kMultiset = ROOT::kSTLmultiset,
202 kUnorderedSet = ROOT::kSTLunorderedset,
203 kUnorderedMultiset = ROOT::kSTLunorderedmultiset,
204 kUnorderedMap = ROOT::kSTLunorderedmap,
205 kUnorderedMultimap = ROOT::kSTLunorderedmultimap,
206 kBitset = ROOT::kSTLbitset
209 typedef const void *DeclId_t;
210 ClassDef(TDictionary,2)