reactos/sdk/lib/cpprt/new_nothrow.cpp

38 lines
832 B
C++

/*
* PROJECT: ReactOS C++ runtime library
* LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory
* PURPOSE: nothrow version of the new operators
* PROGRAMMER: Thomas Faber (thomas.faber@reactos.org)
*/
#include <new>
void* operator new (std::size_t) throw(std::bad_alloc);
void* operator new[] (std::size_t) throw(std::bad_alloc);
const std::nothrow_t std::nothrow;
void* operator new (std::size_t size, const std::nothrow_t& nothrow_constant) throw()
{
try
{
return operator new (size);
}
catch (std::bad_alloc)
{
return NULL;
}
}
void* operator new[] (std::size_t size, const std::nothrow_t& nothrow_constant) throw()
{
try
{
return operator new[] (size);
}
catch (std::bad_alloc)
{
return NULL;
}
}