41 gROOT->GetListOfCleanups()->Add(
this);
44 if (fixMustCleanupBit) {
48 Error(
"TObjectSpy",
"spied object must have the kMustCleanup bit set");
61 gROOT->GetListOfCleanups()->Remove(
this);
88 if (fixMustCleanupBit) {
92 Error(
"TObjectSpy",
"spied object must have the kMustCleanup bit set");
104 fObj(obj), fResetMustCleanupBit(
kFALSE)
108 gROOT->GetListOfCleanups()->Add(
this);
111 if (fixMustCleanupBit) {
115 Error(
"TObjectSpy",
"spied object must have the kMustCleanup bit set");
128 gROOT->GetListOfCleanups()->Remove(
this);
R__EXTERN TVirtualMutex * gROOTMutex
#define R__LOCKGUARD(mutex)
TObjectRefSpy(const TObjectRefSpy &s)=delete
void RecursiveRemove(TObject *obj) override
Sets the object pointer to zero if the object is deleted in the RecursiveRemove() operation.
virtual ~TObjectRefSpy()
Cleanup.
Bool_t fResetMustCleanupBit
Monitors objects for deletion and reflects the deletion by reverting the internal pointer to zero.
Bool_t fResetMustCleanupBit
void RecursiveRemove(TObject *obj) override
Sets the object pointer to zero if the object is deleted in the RecursiveRemove() operation.
virtual ~TObjectSpy()
Cleanup.
TObjectSpy(const TObjectSpy &s)=delete
void SetObject(TObject *obj, Bool_t fixMustCleanupBit=kTRUE)
Set obj as the spy target.
Mother of all ROOT objects.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
@ kMustCleanup
if object destructor must call RecursiveRemove()