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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
<html>
<head>
<title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxAllocatorCallback Class Reference</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK HREF="NVIDIA.css" REL="stylesheet" TYPE="text/css">
</head>
<body bgcolor="#FFFFFF">
<div id="header">
<hr class="first">
<img alt="" src="images/PhysXlogo.png" align="middle"> <br>
<center>
<a class="qindex" href="main.html">Main Page</a>
<a class="qindex" href="hierarchy.html">Class Hierarchy</a>
<a class="qindex" href="annotated.html">Compound List</a>
<a class="qindex" href="functions.html">Compound Members</a>
</center>
<hr class="second">
</div>
<!-- Generated by Doxygen 1.5.8 -->
<div class="contents">
<h1>PxAllocatorCallback Class Reference<br>
<small>
[<a class="el" href="group__foundation.html">Foundation</a>]</small>
</h1><!-- doxytag: class="PxAllocatorCallback" -->Abstract base class for an application defined memory allocator that can be used by the Nv library.
<a href="#_details">More...</a>
<p>
<code>#include <<a class="el" href="PxAllocatorCallback_8h-source.html">PxAllocatorCallback.h</a>></code>
<p>
<div class="dynheader">
Inheritance diagram for PxAllocatorCallback:</div>
<div class="dynsection">
<p><center><img src="classPxAllocatorCallback__inherit__graph.png" border="0" usemap="#PxAllocatorCallback__inherit__map" alt="Inheritance graph"></center>
<map name="PxAllocatorCallback__inherit__map">
<area shape="rect" href="classPxDefaultAllocator.html" title="default implementation of the allocator interface required by the SDK" alt="PxDefaultAllocator" coords="12,85,124,107"></map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
<p>
<a href="classPxAllocatorCallback-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxAllocatorCallback.html#829ee0db96f23c14e13f4692edba9095">~PxAllocatorCallback</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">destructor <a href="#829ee0db96f23c14e13f4692edba9095"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxAllocatorCallback.html#7bb2dde434cf541a556b40b31661da29">allocate</a> (size_t size, const char *typeName, const char *filename, int line)=0</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocates size bytes of memory, which must be 16-byte aligned. <a href="#7bb2dde434cf541a556b40b31661da29"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxAllocatorCallback.html#6af8b56b5a786150796b9854d16fde38">deallocate</a> (void *ptr)=0</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Frees memory previously allocated by <a class="el" href="classPxAllocatorCallback.html#7bb2dde434cf541a556b40b31661da29" title="Allocates size bytes of memory, which must be 16-byte aligned.">allocate()</a>. <a href="#6af8b56b5a786150796b9854d16fde38"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Abstract base class for an application defined memory allocator that can be used by the Nv library.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The SDK state should not be modified from within any allocation/free function.</dd></dl>
<b>Threading:</b> All methods of this class should be thread safe as it can be called from the user thread or the physics processing thread(s). <hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="829ee0db96f23c14e13f4692edba9095"></a><!-- doxytag: member="PxAllocatorCallback::~PxAllocatorCallback" ref="829ee0db96f23c14e13f4692edba9095" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual PxAllocatorCallback::~PxAllocatorCallback </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td><code> [inline, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
destructor
<p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="7bb2dde434cf541a556b40b31661da29"></a><!-- doxytag: member="PxAllocatorCallback::allocate" ref="7bb2dde434cf541a556b40b31661da29" args="(size_t size, const char *typeName, const char *filename, int line)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void* PxAllocatorCallback::allocate </td>
<td>(</td>
<td class="paramtype">size_t </td>
<td class="paramname"> <em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>typeName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>filename</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>line</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Allocates size bytes of memory, which must be 16-byte aligned.
<p>
This method should never return NULL. If you run out of memory, then you should terminate the app or take some other appropriate action.<p>
<b>Threading:</b> This function should be thread safe as it can be called in the context of the user thread and physics processing thread(s).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>Number of bytes to allocate. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>typeName</em> </td><td>Name of the datatype that is being allocated </td></tr>
<tr><td valign="top"></td><td valign="top"><em>filename</em> </td><td>The source file which allocated the memory </td></tr>
<tr><td valign="top"></td><td valign="top"><em>line</em> </td><td>The source line which allocated the memory </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The allocated block of memory. </dd></dl>
<p>Implemented in <a class="el" href="classPxDefaultAllocator.html#caee20fa98b003bde01d690cbccc2c33">PxDefaultAllocator</a>.</p>
</div>
</div><p>
<a class="anchor" name="6af8b56b5a786150796b9854d16fde38"></a><!-- doxytag: member="PxAllocatorCallback::deallocate" ref="6af8b56b5a786150796b9854d16fde38" args="(void *ptr)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void PxAllocatorCallback::deallocate </td>
<td>(</td>
<td class="paramtype">void * </td>
<td class="paramname"> <em>ptr</em> </td>
<td> ) </td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Frees memory previously allocated by <a class="el" href="classPxAllocatorCallback.html#7bb2dde434cf541a556b40b31661da29" title="Allocates size bytes of memory, which must be 16-byte aligned.">allocate()</a>.
<p>
<b>Threading:</b> This function should be thread safe as it can be called in the context of the user thread and physics processing thread(s).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>ptr</em> </td><td>Memory to free. </td></tr>
</table>
</dl>
<p>Implemented in <a class="el" href="classPxDefaultAllocator.html#73221f0158b7740403cd922dca5408fd">PxDefaultAllocator</a>.</p>
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="PxAllocatorCallback_8h-source.html">PxAllocatorCallback.h</a></ul>
</div>
<hr style="width: 100%; height: 2px;"><br>
Copyright © 2008-2018 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a>
</body>
</html>
|