63 #ifndef vtkGarbageCollector_h
64 #define vtkGarbageCollector_h
66 #include "vtkCommonCoreModule.h"
72 VTK_ABI_NAMESPACE_BEGIN
77 class vtkObjectBaseToGarbageCollectorFriendship;
161 static void ClassInitialize();
162 static void ClassFinalize();
165 friend class vtkObjectBaseToGarbageCollectorFriendship;
168 virtual void Report(
vtkObjectBase* obj,
void* ptr,
const char* desc);
193 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 *)