FS2_Open
Open source remastering of the Freespace 2 engine
fsmemory.cpp
Go to the documentation of this file.
1 
2 #include "globalincs/pstypes.h"
3 
4 
5 // throw
6 #ifdef HAVE_CXX11
7 void * operator new (size_t size)
8 #else
9 void * operator new (size_t size) throw (std::bad_alloc)
10 #endif // CPP11_STD
11 {
12  void *p = vm_malloc_q(size);
13 
14  if ( !p ) {
15  throw std::bad_alloc();
16  }
17 
18  return p;
19 }
20 
21 void operator delete (void *p) throw()
22 {
23  vm_free(p);
24 }
25 
26 #ifdef HAVE_CXX11
27 void * operator new [] (size_t size)
28 #else
29 void * operator new [] (size_t size) throw (std::bad_alloc)
30 #endif // CPP11_STD
31 {
32  void *p = vm_malloc_q(size);
33 
34  if ( !p ) {
35  throw std::bad_alloc();
36  }
37 
38  return p;
39 }
40 
41 void operator delete [] (void *p) throw()
42 {
43  vm_free(p);
44 }
45 
46 // no-throw
47 void * operator new (size_t size, const std::nothrow_t&) throw()
48 {
49  return vm_malloc_q(size);
50 }
51 
52 void operator delete (void *p, const std::nothrow_t&) throw()
53 {
54  vm_free(p);
55 }
56 
57 void * operator new [] (size_t size, const std::nothrow_t&) throw()
58 {
59  return vm_malloc_q(size);
60 }
61 
62 void operator delete [] (void *p, const std::nothrow_t&) throw()
63 {
64  vm_free(p);
65 }
#define vm_malloc_q(size)
Definition: pstypes.h:554
#define vm_free(ptr)
Definition: pstypes.h:548
GLsizeiptr size
Definition: Glext.h:5496
GLfloat GLfloat p
Definition: Glext.h:8373