Reactos
at listview 68 lines 1.5 kB view raw
1// 2// new.h 3// 4// Copyright (c) Microsoft Corporation. All rights reserved. 5// 6// The C++ memory allocation library functionality 7// 8#pragma once 9#ifndef _INC_NEW // include guard for 3rd party interop 10#define _INC_NEW 11 12#include <corecrt.h> 13#include <vcruntime_new_debug.h> 14 15#ifdef __cplusplus 16 17 #if !defined _MSC_EXTENSIONS && !defined _CRTBLD && !defined _CORECRT_BUILD 18 #include <new> 19 #endif 20 21 #if defined _MSC_EXTENSIONS && !defined _CORECRT_BUILD 22 #include <crtdefs.h> 23 24 namespace std 25 { 26 typedef void (__CRTDECL* new_handler)(); 27 28 #ifdef _M_CEE 29 typedef void (__clrcall* _new_handler_m) (); 30 #endif 31 32 _CRTIMP2 new_handler __cdecl set_new_handler(_In_opt_ new_handler _NewHandler) throw(); 33 } 34 35 #ifdef _M_CEE 36 using ::std::_new_handler_m; 37 #endif 38 39 using ::std::new_handler; 40 using ::std::set_new_handler; 41 #endif 42 43#endif // __cplusplus 44 45#pragma warning(push) 46#pragma warning(disable: _UCRT_DISABLED_WARNINGS) 47_UCRT_DISABLE_CLANG_WARNINGS 48 49_CRT_BEGIN_C_HEADER 50 51 52 53typedef int (__CRTDECL* _PNH)(size_t); 54 55_PNH __cdecl _query_new_handler(void); 56_PNH __cdecl _set_new_handler(_In_opt_ _PNH _NewHandler); 57 58// new mode flag -- when set, makes malloc() behave like new() 59_ACRTIMP int __cdecl _query_new_mode(void); 60_ACRTIMP int __cdecl _set_new_mode(_In_ int _NewMode); 61 62 63 64_CRT_END_C_HEADER 65_UCRT_RESTORE_CLANG_WARNINGS 66#pragma warning(pop) // _UCRT_DISABLED_WARNINGS 67 68#endif // _INC_NEW