75 #ifndef vtkGarbageCollector_h
76 #define vtkGarbageCollector_h
78 #include "vtkCommonCoreModule.h"
84 VTK_ABI_NAMESPACE_BEGIN
89 class vtkObjectBaseToGarbageCollectorFriendship;
173 static void ClassInitialize();
174 static void ClassFinalize();
177 friend class vtkObjectBaseToGarbageCollectorFriendship;
180 virtual void Report(
vtkObjectBase* obj,
void* ptr,
const char* desc);
205 VTK_ABI_NAMESPACE_END
Manages the vtkGarbageCollector singleton.
Detect and break reference loops.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static void DeferredCollectionPop()
Push/Pop whether to do deferred collection.
static void DeferredCollectionPush()
Push/Pop whether to do deferred collection.
static void Collect(vtkObjectBase *root)
Collect immediately using the given object as the root for a reference graph walk.
static void SetGlobalDebugFlag(bool flag)
Set/Get global garbage collection debugging flag.
~vtkGarbageCollector() override
static void Collect()
Collect immediately using any objects whose collection was previously deferred as a root for the refe...
static bool GetGlobalDebugFlag()
Set/Get global garbage collection debugging flag.
static vtkGarbageCollector * New()
friend void VTKCOMMONCORE_EXPORT vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase *, void *, const char *)
a simple class to control print indentation
abstract base class for most VTK objects
friend class vtkGarbageCollector
Some classes need to clear the reference counts manually due to the way they work.
abstract base class for most VTK objects
Non-templated superclass for vtkSmartPointer.
void VTKCOMMONCORE_EXPORT vtkGarbageCollectorReport(vtkGarbageCollector *collector, vtkSmartPointerBase &ptr, const char *desc)
Function to report a reference held by a smart pointer to a collector.
void VTKCOMMONCORE_EXPORT vtkGarbageCollectorReportInternal(vtkGarbageCollector *, vtkObjectBase *, void *, const char *)