00001
00002
#ifndef _MYNEW
00003
#define _MYNEW
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
#include <iostream>
00027
#include <cstdlib>
00028
#include "libMRML/include/CDebuggingMemoryManager.h"
00029
00030
00031
00032
void* operator new(size_t s){
00033
if(gMemManager.
isValid()){
00034
00035
#ifdef __memdebug
00036
cout <<
"MyAlloc" << s << endl;
00037
#endif
00038
return gMemManager.
getMem(s);
00039 }
00040
#ifdef __memdebug
00041
cout <<
"NormalAlloc" << flush;
00042
#endif
00043
return malloc(s);
00044 }
00045
00046
00047
00048
00049
void operator delete(
void * inToBeDeleted){
00050
if(inToBeDeleted){
00051
if(gMemManager.
freeMem(inToBeDeleted)){
00052
#ifdef __memdebug
00053
cout <<
"°my["
00054 << inToBeDeleted
00055 <<
"]"
00056 << flush;
00057
#endif
00058
return;
00059 }
else{
00060
#ifdef __memdebug
00061
cout <<
"§pre["
00062 << inToBeDeleted
00063 <<
"]"
00064 << flush;
00065
#endif
00066
free(inToBeDeleted);
00067 }
00068 }
else{
00069 cout <<
"!null" << endl;
00070 }
00071 }
00072
00073
void operator delete[](
void* inToBeDeleted){
00074
delete(inToBeDeleted);
00075 }
00076
00077
#endif