sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of the License "ARM EABI LICENCE.txt" sl@0: // which accompanies this distribution, and is available sl@0: // in kernel/eka/compsupp. sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // This is a preinclude file for the Symbian C++ specific defintions for RVCT. sl@0: // sl@0: // sl@0: sl@0: // Deal with operator new issues here sl@0: #ifdef __cplusplus sl@0: namespace std { sl@0: struct nothrow_t { }; sl@0: extern const nothrow_t nothrow; sl@0: } sl@0: sl@0: #ifndef __OPERATOR_NEW_DECLARED__ sl@0: #define __OPERATOR_NEW_DECLARED__ sl@0: sl@0: /* e32cmn.h also declares these five overloads, but slightly differently, so use sl@0: * __OPERATOR_NEW_DECLARED__ to avoid the declarations here (included by compiler-specific sl@0: * pre-include files) from conflicting. sl@0: */ sl@0: sl@0: IMPORT_C void* operator new(unsigned int aSize) __NO_THROW; sl@0: sl@0: IMPORT_C void* operator new(unsigned int aSize,unsigned int aSize1) __NO_THROW; sl@0: sl@0: IMPORT_C void* operator new[](unsigned int aSize) __NO_THROW; sl@0: sl@0: IMPORT_C void operator delete(void* aPtr) __NO_THROW; sl@0: sl@0: IMPORT_C void operator delete[](void* aPtr) __NO_THROW; sl@0: sl@0: #endif // !__OPERATOR_NEW_DECLARED__ sl@0: sl@0: sl@0: /* The following four overloads are not declared by the generic Symbian headers, so sl@0: * do not need to be protected by __OPERATOR_NEW_DECLARED__. sl@0: */ sl@0: sl@0: IMPORT_C void* operator new(unsigned int aSize, const std::nothrow_t& aNoThrow) __NO_THROW; sl@0: sl@0: IMPORT_C void* operator new[](unsigned int aSize, const std::nothrow_t& aNoThrow) __NO_THROW; sl@0: sl@0: IMPORT_C void operator delete(void* aPtr, const std::nothrow_t& aNoThrow) __NO_THROW; sl@0: sl@0: IMPORT_C void operator delete[](void* aPtr, const std::nothrow_t& aNoThrow) __NO_THROW; sl@0: sl@0: #endif