12 #ifndef ROOT_TListOfFunctionTemplates
13 #define ROOT_TListOfFunctionTemplates
32 class TFunctionTemplate;
34 class TListOfFunctionTemplates :
public THashList
39 typedef TDictionary::DeclId_t DeclId_t;
44 THashTable fOverloads;
45 ULong64_t fLastLoadMarker;
47 TListOfFunctionTemplates(
const TListOfFunctionTemplates&);
48 TListOfFunctionTemplates& operator=(
const TListOfFunctionTemplates&);
49 TList *GetListForObjectNonConst(
const char* name);
51 void MapObject(TObject *obj);
52 void UnmapObject(TObject *obj);
56 TListOfFunctionTemplates(TClass *cl);
57 ~TListOfFunctionTemplates();
59 virtual void Clear(Option_t *option);
60 virtual void Delete(Option_t *option=
"");
62 using THashList::FindObject;
63 virtual TObject *FindObject(
const char *name)
const;
64 virtual TList *GetListForObject(
const char* name)
const;
65 virtual TList *GetListForObject(
const TObject* obj)
const;
67 TFunctionTemplate *Get(DeclId_t
id);
69 void AddFirst(TObject *obj);
70 void AddFirst(TObject *obj, Option_t *opt);
71 void AddLast(TObject *obj);
72 void AddLast(TObject *obj, Option_t *opt);
73 void AddAt(TObject *obj, Int_t idx);
74 void AddAfter(
const TObject *after, TObject *obj);
75 void AddAfter(TObjLink *after, TObject *obj);
76 void AddBefore(
const TObject *before, TObject *obj);
77 void AddBefore(TObjLink *before, TObject *obj);
79 void RecursiveRemove(TObject *obj);
80 TObject *Remove(TObject *obj);
81 TObject *Remove(TObjLink *lnk);
85 void Unload(TFunctionTemplate *func);
87 ClassDef(TListOfFunctionTemplates,0);
90 #endif // ROOT_TListOfFunctionTemplates