cAudio 2.3.0
3d Audio Engine
Loading...
Searching...
No Matches
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
10namespace 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 {
45 }
46
47 void operator delete( void* pointer, void* )
48 {
50 }
51
52 void operator delete( void* pointer, const char* , int , const char* )
53 {
55 }
56
57 void operator delete[] ( void* pointer )
58 {
60 }
61
62 void operator delete[] ( void* pointer, const char* , int , const char* )
63 {
65 }
66 };
67};
68
virtual void Free(void *pointer)=0
Frees memory previously allocated.
virtual void * Allocate(size_t size, const char *filename, int line, const char *function)=0
Allocates memory and returns a pointer to it.
Overrides the memory allocations for classes derived from it and makes them use the cAudio memory sys...
Main namespace for the entire cAudio library.
Definition: cAudioCapture.h:16
CAUDIO_API IMemoryProvider * getMemoryProvider()
Returns a pointer to the memory provider of cAudio.