12 #ifndef ROOT_TViewPubFunctions
13 #define ROOT_TViewPubFunctions
28 class TViewPubFunctions :
public TList {
34 TViewPubFunctions(
const TViewPubFunctions&);
35 TViewPubFunctions& operator=(
const TViewPubFunctions&);
38 TViewPubFunctions(TClass *cl = 0);
39 virtual ~TViewPubFunctions();
41 TObject *FindObject(
const char *name)
const;
42 TObject *FindObject(
const TObject *obj)
const;
44 virtual TObject *At(Int_t idx)
const;
45 virtual const TList *GetListOfClasses()
const {
return &fClasses; }
46 virtual Int_t GetSize()
const;
47 virtual TIterator *MakeIterator(Bool_t dir = kIterForward)
const;
54 void Clear(Option_t *option=
"");
55 void Delete(Option_t *option=
"");
57 void AddFirst(TObject *obj);
58 void AddFirst(TObject *obj, Option_t *opt);
59 void AddLast(TObject *obj);
60 void AddLast(TObject *obj, Option_t *opt);
61 void AddAt(TObject *obj, Int_t idx);
62 void AddAfter(
const TObject *after, TObject *obj);
63 void AddAfter(TObjLink *after, TObject *obj);
64 void AddBefore(
const TObject *before, TObject *obj);
65 void AddBefore(TObjLink *before, TObject *obj);
67 virtual TObject *After(
const TObject *obj)
const;
68 virtual TObject *Before(
const TObject *obj)
const;
69 virtual TObject *First()
const;
70 virtual TObjLink *FirstLink()
const;
71 virtual TObject **GetObjectRef(
const TObject *obj)
const;
72 virtual TObject *Last()
const;
73 virtual TObjLink *LastLink()
const;
75 void RecursiveRemove(TObject *obj);
76 TObject *Remove(TObject *obj);
77 TObject *Remove(TObjLink *lnk);
80 ClassDefInline(TViewPubFunctions, 0)
84 #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
85 #pragma GCC diagnostic push
86 #pragma GCC diagnostic ignored "-Weffc++"
96 class TViewPubFunctionsIter :
public TIterator,
97 public std::iterator<std::bidirectional_iterator_tag,
98 TObject*, std::ptrdiff_t,
99 const TObject**, const TObject*&>
108 TViewPubFunctionsIter() : fView(0), fClassIter((TCollection *)0), fFuncIter((TCollection *)0), fStarted(kFALSE), fDirection(kIterForward) { }
111 TViewPubFunctionsIter(
const TViewPubFunctions *l, Bool_t dir = kIterForward);
112 TViewPubFunctionsIter(
const TViewPubFunctionsIter &iter);
113 ~TViewPubFunctionsIter() { }
114 TIterator &operator=(
const TIterator &rhs);
115 TViewPubFunctionsIter &operator=(
const TViewPubFunctionsIter &rhs);
117 const TCollection *GetCollection()
const {
return fView; }
120 Bool_t operator!=(
const TIterator &aIter)
const;
121 Bool_t operator!=(
const TViewPubFunctionsIter &aIter)
const;
122 TObject *operator*()
const {
return *fFuncIter; }
128 #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
129 #pragma GCC diagnostic pop
132 #endif // ROOT_TViewPubFunctions