// Standard C++ dynamic memory management header #ifndef _NEW #define _NEW #include #include extern "C++" { namespace std { class bad_alloc : public exception { public: bad_alloc() throw() { } // This declaration is not useless: // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 virtual ~bad_alloc() throw(); // See comment in eh_exception.cc. virtual const char* what() const throw(); }; struct nothrow_t { }; extern const nothrow_t nothrow; } // namespace std typedef void (*new_handler)(); new_handler set_new_handler(new_handler) throw(); void* operator new (std::size_t size, const std::nothrow_t& nothrow_constant) throw(); inline void* operator new (std::size_t size, void* ptr) throw() { return ptr; } void* operator new[] (std::size_t size, const std::nothrow_t& nothrow_constant) throw(); inline void* operator new[] (std::size_t size, void* ptr) throw() { return ptr; } void operator delete (void* ptr) throw (); void operator delete (void* ptr, const std::nothrow_t& nothrow_constant) throw(); inline void operator delete (void* ptr, void* voidptr2) throw() { } void operator delete[] (void* ptr) throw (); void operator delete[] (void* ptr, const std::nothrow_t& nothrow_constant) throw(); inline void operator delete[] (void* ptr, void* voidptr2) throw() { } //@} } // extern "C++" #endif