// The -*- C++ -*- dynamic memory management header. // Copyright (C) 1994, 1996 Free Software Foundation #ifndef __NEW__ #define __NEW__ #pragma interface "new" #include #include extern "C++" { #if 0 namespace std { #endif class bad_alloc : public exception { public: virtual const char* what() const throw() { return "bad_alloc"; } }; struct nothrow_t {}; extern const nothrow_t nothrow; typedef void (*new_handler)(); extern "C" new_handler set_new_handler (new_handler); #if 0 } // namespace std #endif // G++ implementation internals extern new_handler __new_handler; extern "C" void __default_new_handler (void); // replaceable signatures void *operator new (size_t); void *operator new (size_t, const nothrow_t&) throw(); void *operator new[] (size_t); void *operator new[] (size_t, const nothrow_t&) throw(); void operator delete (void *) throw(); void operator delete[] (void *) throw(); // default placement versions of operator new inline void *operator new(size_t, void *place) throw() { return place; } inline void *operator new[](size_t, void *place) throw() { return place; } } // extern "C++" #endif