12 #ifndef ROOT_TViewPubDataMembers
13 #define ROOT_TViewPubDataMembers
28 class TViewPubDataMembers :
public TList {
34 TViewPubDataMembers(
const TViewPubDataMembers&);
35 TViewPubDataMembers& operator=(
const TViewPubDataMembers&);
38 TViewPubDataMembers(TClass *cl = 0);
39 virtual ~TViewPubDataMembers();
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(TViewPubDataMembers, 0)
84 #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
85 #pragma GCC diagnostic push
86 #pragma GCC diagnostic ignored "-Weffc++"
96 class TViewPubDataMembersIter :
public TIterator,
97 public std::iterator<std::bidirectional_iterator_tag, TObject *, std::ptrdiff_t,
98 const TObject **, const TObject *&> {
106 TViewPubDataMembersIter() : fView(0), fClassIter((TCollection *)0), fIter((TCollection *)0), fStarted(kFALSE), fDirection(kIterForward) { }
109 TViewPubDataMembersIter(
const TViewPubDataMembers *l, Bool_t dir = kIterForward);
110 TViewPubDataMembersIter(
const TViewPubDataMembersIter &iter);
111 ~TViewPubDataMembersIter() { }
112 TIterator &operator=(
const TIterator &rhs);
113 TViewPubDataMembersIter &operator=(
const TViewPubDataMembersIter &rhs);
115 const TCollection *GetCollection()
const {
return fView; }
118 Bool_t operator!=(
const TIterator &aIter)
const;
119 Bool_t operator!=(
const TViewPubDataMembersIter &aIter)
const;
120 TObject *operator*()
const {
return *fIter; }
126 #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
127 #pragma GCC diagnostic pop
130 #endif // ROOT_TViewPubDataMembers