8 #include "vlutil/vlShmPool.h"
9 #include "vlutil/vlMutex.h"
10 #include "vlutil/vlScopedLock.h"
11 #include "vlutil/vlString.h"
21 #include <boost/shared_ptr.hpp>
22 #include <boost/scoped_array.hpp>
23 #include <boost/noncopyable.hpp>
26 struct DtDebugMemoryBlockHeader;
34 class LocalSharedMemoryPoolManager;
62 void setOutput(
bool flag);
69 friend class ScopedLock;
77 static const unsigned long KB =
static_cast<unsigned long>(1) << 10;
78 static const unsigned long MB =
static_cast<unsigned long>(1) << 20;
79 static const unsigned long GB =
static_cast<unsigned long>(1) << 30;
101 bool clearMemory=
false,
105 void setHeader(
const Header&);
107 long getName()
const;
109 bool enabled()
const;
110 void setEnabled(
bool val);
131 virtual unsigned long frameCount()
const;
136 virtual unsigned long numEntries()
const;
140 virtual unsigned long currentSize()
const;
164 virtual std::vector<DtDebugDrawerNameManager::Slot> getMemoryBlockNames();
173 virtual bool pointToMemoryBlock(
long name);
176 void readLock()
const;
177 void readUnlock()
const;
181 void startNewFrame(
bool erase =
true);
182 void advanceFrameCount(
bool outputErrors =
true);
226 typedef boost::shared_ptr<DtDebugDrawerSharedMemoryManager>
BufferPtr;
251 unsigned long bufferSize = 5*MB,
252 unsigned long maxSize = 50*MB,
253 double factor = 1.0);
259 unsigned long bufferSize = 5*MB,
260 unsigned long maxSize = 50*MB,
261 double factor = 1.0);
266 bool enabled()
const;
267 void setEnabled(
bool);
270 BufferVector::iterator lastBuffer();