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
00031
#ifndef __vtkDebugLeaks_h
00032
#define __vtkDebugLeaks_h
00033
00034
#include "vtkObject.h"
00035
00036
#include "vtkToolkits.h"
00037
#include "vtkDebugLeaksManager.h"
00038
00039
class vtkDebugLeaksHashTable;
00040
class vtkSimpleCriticalSection;
00041
00042 class VTK_COMMON_EXPORT vtkDebugLeaks :
public vtkObject
00043 {
00044
public:
00045
static vtkDebugLeaks *
New();
00046 vtkTypeRevisionMacro(vtkDebugLeaks,
vtkObject);
00047
00049
static void ConstructClass(
const char* classname);
00050
00052
static void DestructClass(
const char* classname);
00053
00055
static void PrintCurrentLeaks();
00056
00058
00060 static void PromptUserOn() {}
00061 static void PromptUserOff() {}
00063
00064
protected:
00065 vtkDebugLeaks(){};
00066 virtual ~vtkDebugLeaks(){};
00067
00068
static int DisplayMessageBox(
const char*);
00069
00070
static void ClassInitialize();
00071
static void ClassFinalize();
00072
00073
00074
friend class vtkDebugLeaksManager;
00075
00076
00077
private:
00078
static vtkDebugLeaksHashTable* MemoryTable;
00079
static vtkSimpleCriticalSection* CriticalSection;
00080
private:
00081 vtkDebugLeaks(
const vtkDebugLeaks&);
00082
void operator=(
const vtkDebugLeaks&);
00083 };
00084
00085
#endif // __vtkDebugLeaks_h