cAudio  2.3.0
3d Audio Engine
cMemoryOverride.h
1 // Copyright (c) 2008-2011 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones, Murat (wolfmanfx) Sari
2 // This file is part of the "cAudio Engine"
3 // For conditions of distribution and use, see copyright notice in cAudio.h
4 
5 #pragma once
6 
7 #include <new>
8 #include "cAudioMemory.h"
9 
10 namespace cAudio
11 {
14  {
15  public:
16  void* operator new(size_t size, const char* file, int line, const char* function)
17  {
18  return cAudio::getMemoryProvider()->Allocate(size, file, line, function);
19  }
20 
21  void* operator new(size_t size)
22  {
23  return cAudio::getMemoryProvider()->Allocate(size, NULL, -1, NULL);
24  }
25 
26  void* operator new(size_t size, void* pointer)
27  {
28  (void) size;
29  return pointer;
30  }
31 
32  void* operator new[] ( size_t size, const char* file, int line, const char* function )
33  {
34  return cAudio::getMemoryProvider()->Allocate(size, file, line, function);
35  }
36 
37  void* operator new[] ( size_t size )
38  {
39  return cAudio::getMemoryProvider()->Allocate(size, NULL, -1, NULL);
40  }
41 
42  void operator delete( void* pointer )
43  {
44  cAudio::getMemoryProvider()->Free(pointer);
45  }
46 
47  void operator delete( void* pointer, void* )
48  {
49  cAudio::getMemoryProvider()->Free(pointer);
50  }
51 
52  void operator delete( void* pointer, const char* , int , const char* )
53  {
54  cAudio::getMemoryProvider()->Free(pointer);
55  }
56 
57  void operator delete[] ( void* pointer )
58  {
59  cAudio::getMemoryProvider()->Free(pointer);
60  }
61 
62  void operator delete[] ( void* pointer, const char* , int , const char* )
63  {
64  cAudio::getMemoryProvider()->Free(pointer);
65  }
66  };
67 };
68 
virtual void * Allocate(size_t size, const char *filename, int line, const char *function)=0
Allocates memory and returns a pointer to it.
CAUDIO_API IMemoryProvider * getMemoryProvider()
Returns a pointer to the memory provider of cAudio.
Overrides the memory allocations for classes derived from it and makes them use the cAudio memory sys...
virtual void Free(void *pointer)=0
Frees memory previously allocated.
Main namespace for the entire cAudio library.
Definition: cAudioCapture.h:15