1#ifndef __NEW__ 2#define __NEW__ 3 4#include <stddef.h> 5 6namespace std { 7 using ::size_t; 8 9 struct nothrow_t {}; 10 extern const nothrow_t nothrow; 11} 12 13void* operator new(std::size_t); 14void* operator new[](std::size_t); 15void operator delete(void*); 16void operator delete[](void*); 17void* operator new(std::size_t, const std::nothrow_t&); 18void* operator new[](std::size_t, const std::nothrow_t&); 19void operator delete(void*, const std::nothrow_t&); 20void operator delete[](void*, const std::nothrow_t&); 21 22inline void* operator new(std::size_t, void* p) { return p; } 23inline void* operator new[](std::size_t, void* p) { return p; } 24 25// these next two are not really required, since exceptions are off 26inline void operator delete(void*, void*) { } 27inline void operator delete[](void*, void*) { } 28 29#endif // __NEW__ 30