mirror of
https://github.com/reactos/reactos.git
synced 2025-03-01 03:45:16 +00:00

Imported from https://www.nuget.org/packages/Microsoft.Windows.SDK.CRTSource/10.0.22621.3 License: MIT
68 lines
1.5 KiB
C++
68 lines
1.5 KiB
C++
//
|
|
// new.h
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
// The C++ memory allocation library functionality
|
|
//
|
|
#pragma once
|
|
#ifndef _INC_NEW // include guard for 3rd party interop
|
|
#define _INC_NEW
|
|
|
|
#include <corecrt.h>
|
|
#include <vcruntime_new_debug.h>
|
|
|
|
#ifdef __cplusplus
|
|
|
|
#if !defined _MSC_EXTENSIONS && !defined _CRTBLD && !defined _CORECRT_BUILD
|
|
#include <new>
|
|
#endif
|
|
|
|
#if defined _MSC_EXTENSIONS && !defined _CORECRT_BUILD
|
|
#include <crtdefs.h>
|
|
|
|
namespace std
|
|
{
|
|
typedef void (__CRTDECL* new_handler)();
|
|
|
|
#ifdef _M_CEE
|
|
typedef void (__clrcall* _new_handler_m) ();
|
|
#endif
|
|
|
|
_CRTIMP2 new_handler __cdecl set_new_handler(_In_opt_ new_handler _NewHandler) throw();
|
|
}
|
|
|
|
#ifdef _M_CEE
|
|
using ::std::_new_handler_m;
|
|
#endif
|
|
|
|
using ::std::new_handler;
|
|
using ::std::set_new_handler;
|
|
#endif
|
|
|
|
#endif // __cplusplus
|
|
|
|
#pragma warning(push)
|
|
#pragma warning(disable: _UCRT_DISABLED_WARNINGS)
|
|
_UCRT_DISABLE_CLANG_WARNINGS
|
|
|
|
_CRT_BEGIN_C_HEADER
|
|
|
|
|
|
|
|
typedef int (__CRTDECL* _PNH)(size_t);
|
|
|
|
_PNH __cdecl _query_new_handler(void);
|
|
_PNH __cdecl _set_new_handler(_In_opt_ _PNH _NewHandler);
|
|
|
|
// new mode flag -- when set, makes malloc() behave like new()
|
|
_ACRTIMP int __cdecl _query_new_mode(void);
|
|
_ACRTIMP int __cdecl _set_new_mode(_In_ int _NewMode);
|
|
|
|
|
|
|
|
_CRT_END_C_HEADER
|
|
_UCRT_RESTORE_CLANG_WARNINGS
|
|
#pragma warning(pop) // _UCRT_DISABLED_WARNINGS
|
|
|
|
#endif // _INC_NEW
|