78 lines
2.0 KiB
C
78 lines
2.0 KiB
C
|
#ifndef CMEMORYOVERRIDE_H_INCLUDED
|
||
|
#define CMEMORYOVERRIDE_H_INCLUDED
|
||
|
|
||
|
#include <new>
|
||
|
#include "../include/cAudioMemory.h"
|
||
|
|
||
|
#ifdef CAUDIO_DEBUG
|
||
|
#define CAUDIO_NEW new (__FILE__, __LINE__, __FUNCTION__)
|
||
|
#define CAUDIO_DELETE delete
|
||
|
#define CAUDIO_MALLOC(size) cAudio::getMemoryProvider()->Allocate(size, __FILE__, __LINE__, __FUNCTION__)
|
||
|
#define CAUDIO_FREE(pointer) cAudio::getMemoryProvider()->Free((void*)pointer)
|
||
|
#else
|
||
|
#define CAUDIO_NEW new
|
||
|
#define CAUDIO_DELETE delete
|
||
|
#define CAUDIO_MALLOC(size) cAudio::getMemoryProvider()->Allocate(size, NULL, -1, NULL)
|
||
|
#define CAUDIO_FREE(pointer) cAudio::getMemoryProvider()->Free((void*)pointer)
|
||
|
#endif
|
||
|
|
||
|
namespace cAudio
|
||
|
{
|
||
|
class cMemoryOverride
|
||
|
{
|
||
|
public:
|
||
|
void* operator new(size_t size, const char* file, int line, const char* function)
|
||
|
{
|
||
|
return cAudio::getMemoryProvider()->Allocate(size, file, line, function);
|
||
|
}
|
||
|
|
||
|
void* operator new(size_t size)
|
||
|
{
|
||
|
return cAudio::getMemoryProvider()->Allocate(size, NULL, -1, NULL);
|
||
|
}
|
||
|
|
||
|
void* operator new(size_t size, void* pointer)
|
||
|
{
|
||
|
(void) size;
|
||
|
return pointer;
|
||
|
}
|
||
|
|
||
|
void* operator new[] ( size_t size, const char* file, int line, const char* function )
|
||
|
{
|
||
|
return cAudio::getMemoryProvider()->Allocate(size, file, line, function);
|
||
|
}
|
||
|
|
||
|
void* operator new[] ( size_t size )
|
||
|
{
|
||
|
return cAudio::getMemoryProvider()->Allocate(size, NULL, -1, NULL);
|
||
|
}
|
||
|
|
||
|
void operator delete( void* pointer )
|
||
|
{
|
||
|
cAudio::getMemoryProvider()->Free(pointer);
|
||
|
}
|
||
|
|
||
|
void operator delete( void* pointer, void* )
|
||
|
{
|
||
|
cAudio::getMemoryProvider()->Free(pointer);
|
||
|
}
|
||
|
|
||
|
void operator delete( void* pointer, const char* , int , const char* )
|
||
|
{
|
||
|
cAudio::getMemoryProvider()->Free(pointer);
|
||
|
}
|
||
|
|
||
|
void operator delete[] ( void* pointer )
|
||
|
{
|
||
|
cAudio::getMemoryProvider()->Free(pointer);
|
||
|
}
|
||
|
|
||
|
void operator delete[] ( void* pointer, const char* , int , const char* )
|
||
|
{
|
||
|
cAudio::getMemoryProvider()->Free(pointer);
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
|
||
|
#endif //! CMEMORYOVERRIDE_H_INCLUDED
|