blob: fefcda6e18fe428953e19f0c3afa2a419a9cb43e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
/*++
Copyright (c) Microsoft Corporation All Rights Reserved
Module Name:
NewDelete.h
Abstract:
Declaration of placement new and delete operators.
--*/
#pragma once
#ifdef _NEW_DELETE_OPERATORS_
/*****************************************************************************
* Functions
*/
/*****************************************************************************
* ::new()
*****************************************************************************
* New function for creating objects with a specified allocation tag and
* pool type
*/
PVOID operator new
(
size_t iSize,
POOL_FLAGS poolFlags,
ULONG tag
);
/*****************************************************************************
* ::new()
*****************************************************************************
* New function for creating objects with a specified pool type.
*/
PVOID operator new
(
size_t iSize,
POOL_FLAGS poolFlags
);
/*****************************************************************************
* ::delete()
*****************************************************************************
* Delete with tag function.
*/
void __cdecl operator delete
(
PVOID pVoid,
ULONG tag
);
/*****************************************************************************
* ::delete()
*****************************************************************************
* Sized Delete function.
*/
void __cdecl operator delete
(
_Pre_maybenull_ __drv_freesMem(Mem) PVOID pVoid,
_In_ size_t cbSize
);
/*****************************************************************************
* ::delete()
*****************************************************************************
* Sized Delete function with alignment.
*/
#ifdef __cpp_aligned_new
void __cdecl operator delete
(
_Pre_maybenull_ __drv_freesMem(Mem) PVOID pVoid,
_In_ size_t cbSize,
_In_ std::align_val_t cbAlign
);
#endif // __cpp_aligned_new
/*****************************************************************************
* ::delete()
*****************************************************************************
* Basic Delete function.
*/
void __cdecl operator delete
(
PVOID pVoid
);
/*****************************************************************************
* ::delete()
*****************************************************************************
* Sized Array Delete function.
*/
void __cdecl operator delete[]
(
_Pre_maybenull_ __drv_freesMem(Mem) PVOID pVoid,
_In_ size_t cbSize
);
/*****************************************************************************
* ::delete()
*****************************************************************************
* Array Delete function.
*/
void __cdecl operator delete[]
(
_Pre_maybenull_ __drv_freesMem(Mem) PVOID pVoid
);
#endif//_NEW_DELETE_OPERATORS_
|