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