reactos/include/c++/new
Jérôme Gardou 6b0b6cb78f [HEADERS]
- move stlport headers to the c++ directory
 - add a specific _reactos.h configuration file for stlport
 - add cerrno to c++ headers
 - __declspec(nothrow) must be placed before calling convention with msvc. GCC doesn't care.
We now use our headers with both msvc and gcc.

svn path=/branches/cmake-bringup/; revision=49565
2010-11-11 15:58:18 +00:00

50 lines
1.4 KiB
Plaintext

// Standard C++ dynamic memory management header
#ifndef _NEW
#define _NEW
#include <cstddef>
#include <exception>
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