00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifdef _DEBUG
00010
00011 #ifndef DEBUGNEW_H
00012 #define DEBUGNEW_H
00013
00014
00015
00016
00017 #include "SugoiTools\config.h"
00018
00019 namespace SGE{
00020 #if 0// SG_TLS_MEMORY_MANAGER
00021
00022
00023 #include <SugoiTools\memory_manager.h>
00024
00025
00027
00028
00029
00030
00031
00032
00033
00034
00036 inline void* operator new(std::size_t Size, const char* File, int Line)
00037 {
00038 return CMemoryManager::Instance().Allocate(Size, File, Line, false);
00039 }
00040
00041
00043
00044
00045
00046
00047
00048
00049
00050
00052 inline void* operator new[](std::size_t Size, const char* File, int Line)
00053 {
00054 return CMemoryManager::Instance().Allocate(Size, File, Line, true);
00055 }
00056
00057
00059
00060
00061
00062
00064 inline void operator delete(void* Ptr)
00065 {
00066 CMemoryManager::Instance().Free(Ptr, false);
00067 }
00068
00069
00071
00072
00073
00074
00075
00076
00078 inline void operator delete(void* Ptr, const char* File, int Line)
00079 {
00080 CMemoryManager::Instance().NextDelete(File, Line);
00081 CMemoryManager::Instance().Free(Ptr, false);
00082 }
00083
00084
00086
00087
00088
00089
00091 inline void operator delete[](void* Ptr)
00092 {
00093 CMemoryManager::Instance().Free(Ptr, true);
00094 }
00095
00096
00098
00099
00100
00101
00102
00103
00105 inline void operator delete[](void* Ptr, const char* File, int Line)
00106 {
00107 CMemoryManager::Instance().NextDelete(File, Line);
00108 CMemoryManager::Instance().Free(Ptr, true);
00109 }
00110
00111 #endif // DEBUGNEW_H
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124 };
00125 #endif //SG_TLS_MEMORY_MANAGER
00126
00127 #endif // _DEBUG