49#ifndef vtkDebugLeaks_h
50#define vtkDebugLeaks_h
52#include "vtkCommonCoreModule.h"
60class vtkDebugLeaksHashTable;
61class vtkDebugLeaksTraceManager;
125 static vtkDebugLeaksHashTable* MemoryTable;
126 static vtkDebugLeaksTraceManager* TraceManager;
127 static std::mutex* CriticalSection;
129 static int ExitError;
Manages the vtkDebugLeaks singleton.
virtual ~vtkDebugLeaksObserver()=default
virtual void DestructingObject(vtkObjectBase *)=0
virtual void ConstructingObject(vtkObjectBase *)=0
identify memory leaks at program termination vtkDebugLeaks is used to report memory leaks at the exit...
static void ConstructClass(vtkObjectBase *object)
Call this when creating a class.
static void SetExitError(int)
Get/Set flag for exiting with an error when leaks are present.
static void ConstructingObject(vtkObjectBase *object)
static void ClassInitialize()
static void SetDebugLeaksObserver(vtkDebugLeaksObserver *observer)
static void DestructClass(const char *className)
Call this when deleting vtkCommand or a subclass.
static void ConstructClass(const char *className)
Call this when creating a vtkCommand or subclasses.
static int PrintCurrentLeaks()
Print all the values in the table.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static int DisplayMessageBox(const char *)
static void DestructingObject(vtkObjectBase *object)
static int GetExitError()
Get/Set flag for exiting with an error when leaks are present.
~vtkDebugLeaks() override=default
static vtkDebugLeaks * New()
static vtkDebugLeaksObserver * GetDebugLeaksObserver()
static void ClassFinalize()
static void DestructClass(vtkObjectBase *object)
Call this when deleting a class.
a simple class to control print indentation
abstract base class for most VTK objects
abstract base class for most VTK objects