MemMan.h File Reference

Handles memory management and tracking/debugging. More...

#include "Setup.h"
#include <list>
#include <string>
#include "Types.h"
#include "Locks.h"

Include dependency graph for MemMan.h:

Go to the source code of this file.

Classes

class  MemMan
 Singleton (mMan). Do not instantiate. The memory manager. More...
class  AutoDelete< T >
 Automatically free a single object when this loses scope. More...
class  AutoDeleteArray< T >
 Automatically free an array of objects when this loses scope. More...

Defines

#define MEMMAN_TRACING
#define new2(obj, type)   (dbgN2_PrecheckType(""#obj,""#type), new2_call(new (mMan.InternalAllocBlock(dbgN2_padding*2+sizeof(type))+dbgN2_padding) obj, ""#obj, __FILE__, __LINE__))
 Allocates a single object.
#define new2_array(obj, count, type)   (dbgN2_PrecheckType(""#obj,""#type), new2_array_call<type>(count, ""#obj, __FILE__, __LINE__))
 Allocates an array of objects.
#define delete2(obj)   delete2_call(obj,(void**)&obj,__FILE__,__LINE__)
 Deletes a single object.
#define delete2_array(obj)   delete2_array_call(obj,(void**)&obj,__FILE__,__LINE__)
 Deletes an array of objects.


Detailed Description

Handles memory management and tracking/debugging.


Define Documentation

#define MEMMAN_TRACING

new2(t,t) - allocates memory for an object of type t new2_array(t,c,t) - allocates memory for an array of t's, of length c. new2(t(param1,param2,etc),t) - allocates a new t using specific constructor parameters

delete2(mem) - frees memory allocated by new2 delete2_array(mem) - frees an array allocated by new2_array

new, delete, malloc, and free must not be mixed with new2 and delete2. if you have a private destructor, you must declare your class as a friend to (global namespace) MemMan.

call AddLeakReportCallback to add a callback to be notified of memory leaks when the framework shuts down.

you may not be able to nest new2 statements inside other new2 statements.


Generated on Wed Feb 13 20:57:05 2008 for MPMA Framework by  doxygen 1.5.4