12 #ifndef ROOT_TObjectSpy
13 #define ROOT_TObjectSpy
30 class TObjectSpy :
public TObject {
33 TObjectSpy(
const TObjectSpy& s) =
delete;
34 TObjectSpy& operator=(
const TObjectSpy& s) =
delete;
38 Bool_t fResetMustCleanupBit;
41 TObjectSpy(TObject *obj =
nullptr, Bool_t fixMustCleanupBit=kTRUE);
42 virtual ~TObjectSpy();
44 virtual void RecursiveRemove(TObject *obj);
45 TObject *GetObject()
const {
return fObj; }
46 void SetObject(TObject *obj, Bool_t fixMustCleanupBit=kTRUE);
48 ClassDef(TObjectSpy, 0);
52 class TObjectRefSpy :
public TObject {
55 TObjectRefSpy(
const TObjectRefSpy& s) =
delete;
56 TObjectRefSpy& operator=(
const TObjectRefSpy& s) =
delete;
60 Bool_t fResetMustCleanupBit;
63 TObjectRefSpy(TObject *&obj, Bool_t fixMustCleanupBit=kTRUE);
64 virtual ~TObjectRefSpy();
66 virtual void RecursiveRemove(TObject *obj);
67 TObject *GetObject()
const {
return fObj; }
69 ClassDef(TObjectRefSpy, 0);