dox/Common/vtkDebugLeaks.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00035 #ifndef __vtkDebugLeaks_h
00036 #define __vtkDebugLeaks_h
00037
00038 #include "vtkObject.h"
00039
00040 #include "vtkToolkits.h"
00041 #include "vtkDebugLeaksManager.h"
00042
00043 class vtkDebugLeaksHashTable;
00044 class vtkSimpleCriticalSection;
00045
00046 class VTK_COMMON_EXPORT vtkDebugLeaks : public vtkObject
00047 {
00048 public:
00049 static vtkDebugLeaks *New();
00050 vtkTypeRevisionMacro(vtkDebugLeaks,vtkObject);
00051
00053 static void ConstructClass(const char* classname);
00054
00056 static void DestructClass(const char* classname);
00057
00059 static void PrintCurrentLeaks();
00060
00062
00064 static void PromptUserOn() {}
00065 static void PromptUserOff() {}
00067
00068 protected:
00069 vtkDebugLeaks(){};
00070 virtual ~vtkDebugLeaks(){};
00071
00072 static int DisplayMessageBox(const char*);
00073
00074 static void ClassInitialize();
00075 static void ClassFinalize();
00076
00077
00078 friend class vtkDebugLeaksManager;
00079
00080
00081 private:
00082 static vtkDebugLeaksHashTable* MemoryTable;
00083 static vtkSimpleCriticalSection* CriticalSection;
00084 private:
00085 vtkDebugLeaks(const vtkDebugLeaks&);
00086 void operator=(const vtkDebugLeaks&);
00087 };
00088
00089 #endif // __vtkDebugLeaks_h