00001 // Copyright NVIDIA Corporation 2002-2004 00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED 00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS 00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY 00005 // AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS 00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES 00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, 00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) 00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS 00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES 00011 00012 #pragma once 00013 00015 #include <new> 00016 00017 #include "nvsgcommon.h" 00018 00019 // The following new operator overload forwards to default new, and hence 00020 // has a matching delete operator. Disable the warning. 00021 #pragma warning (disable:4291) 00022 00024 inline void * operator new(size_t size, const char * src, unsigned int ln) 00025 { 00026 return operator new(size); 00027 } 00028 00030 #if !defined (_WIN64) 00031 inline void * operator new[](size_t size, const char * src, unsigned int ln) 00032 { 00033 return ::operator new[](size, std::nothrow); 00034 } 00035 #endif 00036 00037 #ifdef _DEBUG 00038 # define new new(__FILE__, __LINE__) 00039 #endif 00040 00041