#ifndef MMANAGER_H_INCLUDED\r
#define MMANAGER_H_INCLUDED\r
\r
-#include "engine.h"\r
+#include <list>\r
+#include <cassert>\r
\r
class IMMObject\r
{\r
long refCount;\r
bool bIsStackAllocated;\r
static std::list<IMMObject*> heapObjects;\r
+ static unsigned long heapUsage;\r
+ unsigned long heapAllocSize;\r
protected:\r
IMMObject();\r
virtual ~IMMObject();\r
\r
~CMMPointer(){if(obj)obj->Release();}\r
\r
- inline void operator =(const CMMPointer<T> &p)\r
+ inline CMMPointer<T> &operator =(const CMMPointer<T> &p)\r
{\r
if(obj)obj->Release();\r
obj=p.obj;\r
if(obj)obj->AddRef();\r
+ return *this;\r
}\r
- inline void operator =(T* o)\r
+ inline CMMPointer<T> &operator =(T* o)\r
{\r
if(obj)obj->Release();\r
obj=o;\r
if(obj)obj->AddRef();\r
+ return *this;\r
}\r
\r
inline T& operator *() const\r
unsigned long blobsize(){return dataSize;}\r
};\r
\r
-#endif
\ No newline at end of file
+#endif\r