vtkDebugLeaks.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00045 #ifndef __vtkDebugLeaks_h
00046 #define __vtkDebugLeaks_h
00047
00048 #include "vtkObject.h"
00049
00050 #include "vtkToolkits.h"
00051 #include "vtkDebugLeaksManager.h"
00052
00053 class vtkDebugLeaksHashTable;
00054 class vtkSimpleCriticalSection;
00055
00056 class VTK_COMMON_EXPORT vtkDebugLeaks : public vtkObject
00057 {
00058 public:
00059 static vtkDebugLeaks *New();
00060 vtkTypeRevisionMacro(vtkDebugLeaks,vtkObject);
00061
00063 static void ConstructClass(const char* classname);
00064
00066 static void DestructClass(const char* classname);
00067
00070 static int PrintCurrentLeaks();
00071
00073
00075 static void PromptUserOn() {}
00076 static void PromptUserOff() {}
00078
00079 protected:
00080 vtkDebugLeaks(){};
00081 virtual ~vtkDebugLeaks(){};
00082
00083 static int DisplayMessageBox(const char*);
00084
00085 static void ClassInitialize();
00086 static void ClassFinalize();
00087
00088
00089 friend class vtkDebugLeaksManager;
00090
00091
00092 private:
00093 static vtkDebugLeaksHashTable* MemoryTable;
00094 static vtkSimpleCriticalSection* CriticalSection;
00095
00096 vtkDebugLeaks(const vtkDebugLeaks&);
00097 void operator=(const vtkDebugLeaks&);
00098 };
00099
00100 #endif // __vtkDebugLeaks_h