aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Documentation/PhysXAPI/files/classPxDefaultAllocator.html
blob: 7f2c1382ec141c12f559620ae24bb2572b041af6 (plain) (blame)
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
<html>
	<head>
		<title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxDefaultAllocator 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> &nbsp; 
				<a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; 
				<a class="qindex" href="annotated.html">Compound List</a> &nbsp; 
				<a class="qindex" href="functions.html">Compound Members</a> &nbsp;  
			</center>
			<hr class="second">
		</div>
<!-- Generated by Doxygen 1.5.8 -->
<div class="contents">
<h1>PxDefaultAllocator Class Reference<br>
<small>
[<a class="el" href="group__extensions.html">Extensions</a>]</small>
</h1><!-- doxytag: class="PxDefaultAllocator" --><!-- doxytag: inherits="PxAllocatorCallback" -->default implementation of the allocator interface required by the SDK  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="PxDefaultAllocator_8h-source.html">PxDefaultAllocator.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for PxDefaultAllocator:</div>
<div class="dynsection">
<p><center><img src="classPxDefaultAllocator__inherit__graph.png" border="0" usemap="#PxDefaultAllocator__inherit__map" alt="Inheritance graph"></center>
<map name="PxDefaultAllocator__inherit__map">
<area shape="rect" href="classPxAllocatorCallback.html" title="Abstract base class for an application defined memory allocator that can be used..." alt="PxAllocatorCallback" coords="7,16,129,37"></map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for PxDefaultAllocator:</div>
<div class="dynsection">
<p><center><img src="classPxDefaultAllocator__coll__graph.png" border="0" usemap="#PxDefaultAllocator__coll__map" alt="Collaboration graph"></center>
<map name="PxDefaultAllocator__coll__map">
<area shape="rect" href="classPxAllocatorCallback.html" title="Abstract base class for an application defined memory allocator that can be used..." alt="PxAllocatorCallback" coords="7,16,129,37"></map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classPxDefaultAllocator-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">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxDefaultAllocator.html#caee20fa98b003bde01d690cbccc2c33">allocate</a> (size_t size, const char *, const char *, int)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates size bytes of memory, which must be 16-byte aligned.  <a href="#caee20fa98b003bde01d690cbccc2c33"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxDefaultAllocator.html#73221f0158b7740403cd922dca5408fd">deallocate</a> (void *ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees memory previously allocated by <a class="el" href="classPxDefaultAllocator.html#caee20fa98b003bde01d690cbccc2c33" title="Allocates size bytes of memory, which must be 16-byte aligned.">allocate()</a>.  <a href="#73221f0158b7740403cd922dca5408fd"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
default implementation of the allocator interface required by the SDK <hr><h2>Member Function Documentation</h2>
<a class="anchor" name="caee20fa98b003bde01d690cbccc2c33"></a><!-- doxytag: member="PxDefaultAllocator::allocate" ref="caee20fa98b003bde01d690cbccc2c33" args="(size_t size, const char *, const char *, int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* PxDefaultAllocator::allocate           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>typeName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>line</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, 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>&nbsp;</td><td>Number of bytes to allocate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>typeName</em>&nbsp;</td><td>Name of the datatype that is being allocated </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The source file which allocated the memory </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>line</em>&nbsp;</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>Implements <a class="el" href="classPxAllocatorCallback.html#7bb2dde434cf541a556b40b31661da29">PxAllocatorCallback</a>.</p>

<p>References <a class="el" href="PxDefaultAllocator_8h-source.html#l00075">platformAlignedAlloc()</a>, and <a class="el" href="PxAssert_8h-source.html#l00061">PX_ASSERT</a>.</p>

</div>
</div><p>
<a class="anchor" name="73221f0158b7740403cd922dca5408fd"></a><!-- doxytag: member="PxDefaultAllocator::deallocate" ref="73221f0158b7740403cd922dca5408fd" args="(void *ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void PxDefaultAllocator::deallocate           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>ptr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Frees memory previously allocated by <a class="el" href="classPxDefaultAllocator.html#caee20fa98b003bde01d690cbccc2c33" 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>&nbsp;</td><td>Memory to free. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classPxAllocatorCallback.html#6af8b56b5a786150796b9854d16fde38">PxAllocatorCallback</a>.</p>

<p>References <a class="el" href="PxDefaultAllocator_8h-source.html#l00080">platformAlignedFree()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="PxDefaultAllocator_8h-source.html">PxDefaultAllocator.h</a></ul>
</div>

<hr style="width: 100%; height: 2px;"><br>
Copyright &copy; 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>