• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3<title>OsclMemPoolResizableAllocator class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5</head><body>
6<!-- Generated by Doxygen 1.2.18 -->
7<center>
8<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
9<hr><h1>OsclMemPoolResizableAllocator Class Reference<br>
10<small>
11[<a class="el" href="group__osclmemory.html">OSCL Memory</a>]</small>
12</h1><code>#include &lt;<a class="el" href="oscl__mem__mempool_8h-source.html">oscl_mem_mempool.h</a>&gt;</code>
13<p>
14<p>Inheritance diagram for OsclMemPoolResizableAllocator:
15<p><center><img src="classOsclMemPoolResizableAllocator.png" usemap="#OsclMemPoolResizableAllocator_map" border="0" alt=""></center>
16<map name="OsclMemPoolResizableAllocator_map">
17<area href="classOscl__DefAlloc.html" alt="Oscl_DefAlloc" shape="rect" coords="102,56,297,80">
18<area href="classOscl__Alloc.html" alt="Oscl_Alloc" shape="rect" coords="0,0,195,24">
19<area href="classOscl__Dealloc.html" alt="Oscl_Dealloc" shape="rect" coords="205,0,400,24">
20</map>
21<table border=0 cellpadding=0 cellspacing=0>
22<tr><td></td></tr>
23<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
24<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a0">OsclMemPoolResizableAllocator</a> (uint32 aMemPoolBufferSize, uint32 aMemPoolBufferNumLimit=0, uint32 aExpectedNumBlocksPerBuffer=0, <a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *gen_alloc=NULL)</td></tr>
25<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a1">enablenullpointerreturn</a> ()</td></tr>
26<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a2">allocate</a> (const uint32 aNumBytes)</td></tr>
27<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a3">deallocate</a> (<a class="el" href="group__osclbase.html#a25">OsclAny</a> *aPtr)</td></tr>
28<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a4">trim</a> (<a class="el" href="group__osclbase.html#a25">OsclAny</a> *aPtr, uint32 aBytesToFree)</td></tr>
29<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a5">getBufferSize</a> () const</td></tr>
30<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a6">getAllocatedSize</a> () const</td></tr>
31<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a7">getAvailableSize</a> () const</td></tr>
32<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a8">getLargestContiguousFreeBlockSize</a> () const</td></tr>
33<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a9">setMaxSzForNewMemPoolBuffer</a> (uint32 aMaxNewMemPoolBufferSz)</td></tr>
34<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a10">notifyfreeblockavailable</a> (<a class="el" href="classOsclMemPoolResizableAllocatorObserver.html">OsclMemPoolResizableAllocatorObserver</a> &amp;aObserver, uint32 aRequestedSize=0, <a class="el" href="group__osclbase.html#a25">OsclAny</a> *aContextData=NULL)</td></tr>
35<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a11">CancelFreeChunkAvailableCallback</a> ()</td></tr>
36<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a12">notifyfreememoryavailable</a> (<a class="el" href="classOsclMemPoolResizableAllocatorMemoryObserver.html">OsclMemPoolResizableAllocatorMemoryObserver</a> &amp;aObserver, uint32 aRequestedSize=0, <a class="el" href="group__osclbase.html#a25">OsclAny</a> *aContextData=NULL)</td></tr>
37<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a13">CancelFreeMemoryAvailableCallback</a> ()</td></tr>
38<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a14">addRef</a> ()</td></tr>
39<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a15">removeRef</a> ()</td></tr>
40<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
41<tr><td nowrap align=right valign=top>virtual OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b0">~OsclMemPoolResizableAllocator</a> ()</td></tr>
42<tr><td nowrap align=right valign=top><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b1">addnewmempoolbuffer</a> (uint32 aBufferSize)</td></tr>
43<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b2">destroyallmempoolbuffers</a> ()</td></tr>
44<tr><td nowrap align=right valign=top><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b3">findfreeblock</a> (uint32 aBlockSize)</td></tr>
45<tr><td nowrap align=right valign=top><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b4">allocateblock</a> (<a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a> &amp;aBlockPtr, uint32 aNumBytes)</td></tr>
46<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b5">deallocateblock</a> (<a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a> &amp;aBlockPtr)</td></tr>
47<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b6">validateblock</a> (<a class="el" href="group__osclbase.html#a25">OsclAny</a> *aBlockBufPtr)</td></tr>
48<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b7">getMemPoolBufferSize</a> (<a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a> *aBufferInfo) const</td></tr>
49<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b8">getMemPoolBufferAllocatedSize</a> (<a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a> *aBufferInfo) const</td></tr>
50<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b9">memoryPoolBufferMgmtOverhead</a> () const</td></tr>
51<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
52<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n0">iMemPoolBufferSize</a></td></tr>
53<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n1">iMemPoolBufferNumLimit</a></td></tr>
54<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n2">iExpectedNumBlocksPerBuffer</a></td></tr>
55<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n3">iMaxNewMemPoolBufferSz</a></td></tr>
56<tr><td nowrap align=right valign=top><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n4">iMemPoolBufferAllocator</a></td></tr>
57<tr><td nowrap align=right valign=top><a class="el" href="classOscl__Vector.html">Oscl_Vector</a>&lt; <a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a> *,<br>
58 <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n5">iMemPoolBufferList</a></td></tr>
59<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n6">iBufferInfoAlignedSize</a></td></tr>
60<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n7">iBlockInfoAlignedSize</a></td></tr>
61<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n8">iCheckNextAvailable</a></td></tr>
62<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n9">iRequestedNextAvailableSize</a></td></tr>
63<tr><td nowrap align=right valign=top><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n10">iNextAvailableContextData</a></td></tr>
64<tr><td nowrap align=right valign=top><a class="el" href="classOsclMemPoolResizableAllocatorObserver.html">OsclMemPoolResizableAllocatorObserver</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n11">iObserver</a></td></tr>
65<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n12">iCheckFreeMemoryAvailable</a></td></tr>
66<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n13">iRequestedAvailableFreeMemSize</a></td></tr>
67<tr><td nowrap align=right valign=top><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n14">iFreeMemContextData</a></td></tr>
68<tr><td nowrap align=right valign=top><a class="el" href="classOsclMemPoolResizableAllocatorMemoryObserver.html">OsclMemPoolResizableAllocatorMemoryObserver</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n15">iFreeMemPoolObserver</a></td></tr>
69<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n16">iRefCount</a></td></tr>
70<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n17">iEnableNullPtrReturn</a></td></tr>
71</table>
72<hr><h2>Constructor &amp; Destructor Documentation</h2>
73<a name="a0" doxytag="OsclMemPoolResizableAllocator::OsclMemPoolResizableAllocator"></a><p>
74<table width="100%" cellpadding="2" cellspacing="0" border="0">
75  <tr>
76    <td class="md">
77      <table cellpadding="0" cellspacing="0" border="0">
78        <tr>
79          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OsclMemPoolResizableAllocator::OsclMemPoolResizableAllocator </td>
80          <td class="md" valign="top">(&nbsp;</td>
81          <td class="md" nowrap valign="top">uint32&nbsp;</td>
82          <td class="mdname" nowrap>&nbsp; <em>aMemPoolBufferSize</em>, </td>
83        </tr>
84        <tr>
85          <td></td>
86          <td></td>
87          <td class="md" nowrap>uint32&nbsp;</td>
88          <td class="mdname" nowrap>&nbsp; <em>aMemPoolBufferNumLimit</em> = 0, </td>
89        </tr>
90        <tr>
91          <td></td>
92          <td></td>
93          <td class="md" nowrap>uint32&nbsp;</td>
94          <td class="mdname" nowrap>&nbsp; <em>aExpectedNumBlocksPerBuffer</em> = 0, </td>
95        </tr>
96        <tr>
97          <td></td>
98          <td></td>
99          <td class="md" nowrap><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td>
100          <td class="mdname" nowrap>&nbsp; <em>gen_alloc</em> = NULL</td>
101        </tr>
102        <tr>
103          <td></td>
104          <td class="md">)&nbsp;</td>
105          <td class="md" colspan="2"></td>
106        </tr>
107
108      </table>
109    </td>
110  </tr>
111</table>
112<table cellspacing=5 cellpadding=0 border=0>
113  <tr>
114    <td>
115      &nbsp;
116    </td>
117    <td>
118
119<p>
120Create the memory pool allocator with resizing functionality. The size of the memory pool buffer needs to be passed-in. The maximum number of memory pool buffers, expected number of blocks in a memory pool buffer, and outside allocator are optional. This API throws an exception when the memory allocation for the pool buffer fails. If memory pool buffer number limit parameter is not set, the assumption is that there is no limit and memory pool will grow as needed. If the expected number of blocks is not set or not known, the memory pool will use a default value to 10 to allocate extra memory for the block info header.
121<p>
122<dl compact><dt><b>Returns: </b></dt><dd>
123void </dl>    </td>
124  </tr>
125</table>
126<a name="b0" doxytag="OsclMemPoolResizableAllocator::~OsclMemPoolResizableAllocator"></a><p>
127<table width="100%" cellpadding="2" cellspacing="0" border="0">
128  <tr>
129    <td class="md">
130      <table cellpadding="0" cellspacing="0" border="0">
131        <tr>
132          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF OsclMemPoolResizableAllocator::~OsclMemPoolResizableAllocator </td>
133          <td class="md" valign="top">(&nbsp;</td>
134          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
135          <td class="md" valign="top">)&nbsp;</td>
136          <td class="md" nowrap><code> [protected, virtual]</code></td>
137        </tr>
138
139      </table>
140    </td>
141  </tr>
142</table>
143<table cellspacing=5 cellpadding=0 border=0>
144  <tr>
145    <td>
146      &nbsp;
147    </td>
148    <td>
149
150<p>
151The destructor for the memory pool. Should not be called directly. Use <a class="el" href="classOsclMemPoolResizableAllocator.html#a15">removeRef()</a> instead.     </td>
152  </tr>
153</table>
154<hr><h2>Member Function Documentation</h2>
155<a name="b1" doxytag="OsclMemPoolResizableAllocator::addnewmempoolbuffer"></a><p>
156<table width="100%" cellpadding="2" cellspacing="0" border="0">
157  <tr>
158    <td class="md">
159      <table cellpadding="0" cellspacing="0" border="0">
160        <tr>
161          <td class="md" nowrap valign="top"> <a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a>* OsclMemPoolResizableAllocator::addnewmempoolbuffer </td>
162          <td class="md" valign="top">(&nbsp;</td>
163          <td class="md" nowrap valign="top">uint32&nbsp;</td>
164          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aBufferSize</em>          </td>
165          <td class="md" valign="top">)&nbsp;</td>
166          <td class="md" nowrap><code> [protected]</code></td>
167        </tr>
168
169      </table>
170    </td>
171  </tr>
172</table>
173<table cellspacing=5 cellpadding=0 border=0>
174  <tr>
175    <td>
176      &nbsp;
177    </td>
178    <td>
179
180<p>
181    </td>
182  </tr>
183</table>
184<a name="a14" doxytag="OsclMemPoolResizableAllocator::addRef"></a><p>
185<table width="100%" cellpadding="2" cellspacing="0" border="0">
186  <tr>
187    <td class="md">
188      <table cellpadding="0" cellspacing="0" border="0">
189        <tr>
190          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::addRef </td>
191          <td class="md" valign="top">(&nbsp;</td>
192          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
193          <td class="md" valign="top">)&nbsp;</td>
194          <td class="md" nowrap></td>
195        </tr>
196
197      </table>
198    </td>
199  </tr>
200</table>
201<table cellspacing=5 cellpadding=0 border=0>
202  <tr>
203    <td>
204      &nbsp;
205    </td>
206    <td>
207
208<p>
209Increments the reference count for this memory pool allocator
210<p>
211<dl compact><dt><b>Returns: </b></dt><dd>
212void </dl>    </td>
213  </tr>
214</table>
215<a name="a2" doxytag="OsclMemPoolResizableAllocator::allocate"></a><p>
216<table width="100%" cellpadding="2" cellspacing="0" border="0">
217  <tr>
218    <td class="md">
219      <table cellpadding="0" cellspacing="0" border="0">
220        <tr>
221          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a25">OsclAny</a>* OsclMemPoolResizableAllocator::allocate </td>
222          <td class="md" valign="top">(&nbsp;</td>
223          <td class="md" nowrap valign="top">const uint32&nbsp;</td>
224          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aNumBytes</em>          </td>
225          <td class="md" valign="top">)&nbsp;</td>
226          <td class="md" nowrap><code> [virtual]</code></td>
227        </tr>
228
229      </table>
230    </td>
231  </tr>
232</table>
233<table cellspacing=5 cellpadding=0 border=0>
234  <tr>
235    <td>
236      &nbsp;
237    </td>
238    <td>
239
240<p>
241Allocates a block from the memory pool that is at least in size requested This API throws an exception if there isn't enough memory (if "enablenullpointerreturn" has not been called) for the requested amount in the pool or if the extra pool buffer cannot be allocated.
242<p>
243<dl compact><dt><b>Returns: </b></dt><dd>
244Pointer to memory buffer from memory pool </dl>
245<p>
246Implements <a class="el" href="classOscl__DefAlloc.html#a0">Oscl_DefAlloc</a>.    </td>
247  </tr>
248</table>
249<a name="b4" doxytag="OsclMemPoolResizableAllocator::allocateblock"></a><p>
250<table width="100%" cellpadding="2" cellspacing="0" border="0">
251  <tr>
252    <td class="md">
253      <table cellpadding="0" cellspacing="0" border="0">
254        <tr>
255          <td class="md" nowrap valign="top"> <a class="el" href="group__osclbase.html#a25">OsclAny</a>* OsclMemPoolResizableAllocator::allocateblock </td>
256          <td class="md" valign="top">(&nbsp;</td>
257          <td class="md" nowrap valign="top"><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a> &amp;&nbsp;</td>
258          <td class="mdname" nowrap>&nbsp; <em>aBlockPtr</em>, </td>
259        </tr>
260        <tr>
261          <td></td>
262          <td></td>
263          <td class="md" nowrap>uint32&nbsp;</td>
264          <td class="mdname" nowrap>&nbsp; <em>aNumBytes</em></td>
265        </tr>
266        <tr>
267          <td></td>
268          <td class="md">)&nbsp;</td>
269          <td class="md" colspan="2"><code> [protected]</code></td>
270        </tr>
271
272      </table>
273    </td>
274  </tr>
275</table>
276<table cellspacing=5 cellpadding=0 border=0>
277  <tr>
278    <td>
279      &nbsp;
280    </td>
281    <td>
282
283<p>
284    </td>
285  </tr>
286</table>
287<a name="a11" doxytag="OsclMemPoolResizableAllocator::CancelFreeChunkAvailableCallback"></a><p>
288<table width="100%" cellpadding="2" cellspacing="0" border="0">
289  <tr>
290    <td class="md">
291      <table cellpadding="0" cellspacing="0" border="0">
292        <tr>
293          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::CancelFreeChunkAvailableCallback </td>
294          <td class="md" valign="top">(&nbsp;</td>
295          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
296          <td class="md" valign="top">)&nbsp;</td>
297          <td class="md" nowrap><code> [virtual]</code></td>
298        </tr>
299
300      </table>
301    </td>
302  </tr>
303</table>
304<table cellspacing=5 cellpadding=0 border=0>
305  <tr>
306    <td>
307      &nbsp;
308    </td>
309    <td>
310
311<p>
312This API will cancel any past callback requests..
313<p>
314<dl compact><dt><b>Returns: </b></dt><dd>
315void </dl>    </td>
316  </tr>
317</table>
318<a name="a13" doxytag="OsclMemPoolResizableAllocator::CancelFreeMemoryAvailableCallback"></a><p>
319<table width="100%" cellpadding="2" cellspacing="0" border="0">
320  <tr>
321    <td class="md">
322      <table cellpadding="0" cellspacing="0" border="0">
323        <tr>
324          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::CancelFreeMemoryAvailableCallback </td>
325          <td class="md" valign="top">(&nbsp;</td>
326          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
327          <td class="md" valign="top">)&nbsp;</td>
328          <td class="md" nowrap></td>
329        </tr>
330
331      </table>
332    </td>
333  </tr>
334</table>
335<table cellspacing=5 cellpadding=0 border=0>
336  <tr>
337    <td>
338      &nbsp;
339    </td>
340    <td>
341
342<p>
343    </td>
344  </tr>
345</table>
346<a name="a3" doxytag="OsclMemPoolResizableAllocator::deallocate"></a><p>
347<table width="100%" cellpadding="2" cellspacing="0" border="0">
348  <tr>
349    <td class="md">
350      <table cellpadding="0" cellspacing="0" border="0">
351        <tr>
352          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::deallocate </td>
353          <td class="md" valign="top">(&nbsp;</td>
354          <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
355          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aPtr</em>          </td>
356          <td class="md" valign="top">)&nbsp;</td>
357          <td class="md" nowrap><code> [virtual]</code></td>
358        </tr>
359
360      </table>
361    </td>
362  </tr>
363</table>
364<table cellspacing=5 cellpadding=0 border=0>
365  <tr>
366    <td>
367      &nbsp;
368    </td>
369    <td>
370
371<p>
372Deallocates and returns a block back to the memory pool This API throws an exception if the pointer passed in is not part of the memory pool, aligned, or has corrupted block header.
373<p>
374<dl compact><dt><b>Returns: </b></dt><dd>
375void </dl>
376<p>
377Implements <a class="el" href="classOscl__DefAlloc.html#a2">Oscl_DefAlloc</a>.    </td>
378  </tr>
379</table>
380<a name="b5" doxytag="OsclMemPoolResizableAllocator::deallocateblock"></a><p>
381<table width="100%" cellpadding="2" cellspacing="0" border="0">
382  <tr>
383    <td class="md">
384      <table cellpadding="0" cellspacing="0" border="0">
385        <tr>
386          <td class="md" nowrap valign="top"> void OsclMemPoolResizableAllocator::deallocateblock </td>
387          <td class="md" valign="top">(&nbsp;</td>
388          <td class="md" nowrap valign="top"><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a> &amp;&nbsp;</td>
389          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aBlockPtr</em>          </td>
390          <td class="md" valign="top">)&nbsp;</td>
391          <td class="md" nowrap><code> [protected]</code></td>
392        </tr>
393
394      </table>
395    </td>
396  </tr>
397</table>
398<table cellspacing=5 cellpadding=0 border=0>
399  <tr>
400    <td>
401      &nbsp;
402    </td>
403    <td>
404
405<p>
406    </td>
407  </tr>
408</table>
409<a name="b2" doxytag="OsclMemPoolResizableAllocator::destroyallmempoolbuffers"></a><p>
410<table width="100%" cellpadding="2" cellspacing="0" border="0">
411  <tr>
412    <td class="md">
413      <table cellpadding="0" cellspacing="0" border="0">
414        <tr>
415          <td class="md" nowrap valign="top"> void OsclMemPoolResizableAllocator::destroyallmempoolbuffers </td>
416          <td class="md" valign="top">(&nbsp;</td>
417          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
418          <td class="md" valign="top">)&nbsp;</td>
419          <td class="md" nowrap><code> [protected]</code></td>
420        </tr>
421
422      </table>
423    </td>
424  </tr>
425</table>
426<table cellspacing=5 cellpadding=0 border=0>
427  <tr>
428    <td>
429      &nbsp;
430    </td>
431    <td>
432
433<p>
434    </td>
435  </tr>
436</table>
437<a name="a1" doxytag="OsclMemPoolResizableAllocator::enablenullpointerreturn"></a><p>
438<table width="100%" cellpadding="2" cellspacing="0" border="0">
439  <tr>
440    <td class="md">
441      <table cellpadding="0" cellspacing="0" border="0">
442        <tr>
443          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::enablenullpointerreturn </td>
444          <td class="md" valign="top">(&nbsp;</td>
445          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
446          <td class="md" valign="top">)&nbsp;</td>
447          <td class="md" nowrap><code> [virtual]</code></td>
448        </tr>
449
450      </table>
451    </td>
452  </tr>
453</table>
454<table cellspacing=5 cellpadding=0 border=0>
455  <tr>
456    <td>
457      &nbsp;
458    </td>
459    <td>
460
461<p>
462This API will disable exceptions in case the memory pool runs out of memory Instead of doing "<a class="el" href="group__osclerror.html#a46">OSCL_LEAVE(OsclErrNoResources)</a>" allocate API will return NULL.
463<p>
464<dl compact><dt><b>Returns: </b></dt><dd>
465void </dl>    </td>
466  </tr>
467</table>
468<a name="b3" doxytag="OsclMemPoolResizableAllocator::findfreeblock"></a><p>
469<table width="100%" cellpadding="2" cellspacing="0" border="0">
470  <tr>
471    <td class="md">
472      <table cellpadding="0" cellspacing="0" border="0">
473        <tr>
474          <td class="md" nowrap valign="top"> <a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a>* OsclMemPoolResizableAllocator::findfreeblock </td>
475          <td class="md" valign="top">(&nbsp;</td>
476          <td class="md" nowrap valign="top">uint32&nbsp;</td>
477          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aBlockSize</em>          </td>
478          <td class="md" valign="top">)&nbsp;</td>
479          <td class="md" nowrap><code> [protected]</code></td>
480        </tr>
481
482      </table>
483    </td>
484  </tr>
485</table>
486<table cellspacing=5 cellpadding=0 border=0>
487  <tr>
488    <td>
489      &nbsp;
490    </td>
491    <td>
492
493<p>
494    </td>
495  </tr>
496</table>
497<a name="a6" doxytag="OsclMemPoolResizableAllocator::getAllocatedSize"></a><p>
498<table width="100%" cellpadding="2" cellspacing="0" border="0">
499  <tr>
500    <td class="md">
501      <table cellpadding="0" cellspacing="0" border="0">
502        <tr>
503          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF uint32 OsclMemPoolResizableAllocator::getAllocatedSize </td>
504          <td class="md" valign="top">(&nbsp;</td>
505          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
506          <td class="md" valign="top">)&nbsp;</td>
507          <td class="md" nowrap><code> [virtual]</code></td>
508        </tr>
509
510      </table>
511    </td>
512  </tr>
513</table>
514<table cellspacing=5 cellpadding=0 border=0>
515  <tr>
516    <td>
517      &nbsp;
518    </td>
519    <td>
520
521<p>
522Returns the number of bytes allocated from the buffer&lt;including the overhead bytes that may be allocated by the allocater to keep track of the chunks allocated&gt;     </td>
523  </tr>
524</table>
525<a name="a7" doxytag="OsclMemPoolResizableAllocator::getAvailableSize"></a><p>
526<table width="100%" cellpadding="2" cellspacing="0" border="0">
527  <tr>
528    <td class="md">
529      <table cellpadding="0" cellspacing="0" border="0">
530        <tr>
531          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF uint32 OsclMemPoolResizableAllocator::getAvailableSize </td>
532          <td class="md" valign="top">(&nbsp;</td>
533          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
534          <td class="md" valign="top">)&nbsp;</td>
535          <td class="md" nowrap><code> [virtual]</code></td>
536        </tr>
537
538      </table>
539    </td>
540  </tr>
541</table>
542<table cellspacing=5 cellpadding=0 border=0>
543  <tr>
544    <td>
545      &nbsp;
546    </td>
547    <td>
548
549<p>
550Returns the number of bytes available with the buffer     </td>
551  </tr>
552</table>
553<a name="a5" doxytag="OsclMemPoolResizableAllocator::getBufferSize"></a><p>
554<table width="100%" cellpadding="2" cellspacing="0" border="0">
555  <tr>
556    <td class="md">
557      <table cellpadding="0" cellspacing="0" border="0">
558        <tr>
559          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 OsclMemPoolResizableAllocator::getBufferSize </td>
560          <td class="md" valign="top">(&nbsp;</td>
561          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
562          <td class="md" valign="top">)&nbsp;</td>
563          <td class="md" nowrap></td>
564        </tr>
565
566      </table>
567    </td>
568  </tr>
569</table>
570<table cellspacing=5 cellpadding=0 border=0>
571  <tr>
572    <td>
573      &nbsp;
574    </td>
575    <td>
576
577<p>
578Returns the size of the buffer &lt;including the overhead bytes that may be allocated by the allocater&gt;     </td>
579  </tr>
580</table>
581<a name="a8" doxytag="OsclMemPoolResizableAllocator::getLargestContiguousFreeBlockSize"></a><p>
582<table width="100%" cellpadding="2" cellspacing="0" border="0">
583  <tr>
584    <td class="md">
585      <table cellpadding="0" cellspacing="0" border="0">
586        <tr>
587          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF uint32 OsclMemPoolResizableAllocator::getLargestContiguousFreeBlockSize </td>
588          <td class="md" valign="top">(&nbsp;</td>
589          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
590          <td class="md" valign="top">)&nbsp;</td>
591          <td class="md" nowrap><code> [virtual]</code></td>
592        </tr>
593
594      </table>
595    </td>
596  </tr>
597</table>
598<table cellspacing=5 cellpadding=0 border=0>
599  <tr>
600    <td>
601      &nbsp;
602    </td>
603    <td>
604
605<p>
606Returns the size of the largest available chunk in the memory.     </td>
607  </tr>
608</table>
609<a name="b8" doxytag="OsclMemPoolResizableAllocator::getMemPoolBufferAllocatedSize"></a><p>
610<table width="100%" cellpadding="2" cellspacing="0" border="0">
611  <tr>
612    <td class="md">
613      <table cellpadding="0" cellspacing="0" border="0">
614        <tr>
615          <td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::getMemPoolBufferAllocatedSize </td>
616          <td class="md" valign="top">(&nbsp;</td>
617          <td class="md" nowrap valign="top"><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a> *&nbsp;</td>
618          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aBufferInfo</em>          </td>
619          <td class="md" valign="top">)&nbsp;</td>
620          <td class="md" nowrap> const<code> [protected]</code></td>
621        </tr>
622
623      </table>
624    </td>
625  </tr>
626</table>
627<table cellspacing=5 cellpadding=0 border=0>
628  <tr>
629    <td>
630      &nbsp;
631    </td>
632    <td>
633
634<p>
635    </td>
636  </tr>
637</table>
638<a name="b7" doxytag="OsclMemPoolResizableAllocator::getMemPoolBufferSize"></a><p>
639<table width="100%" cellpadding="2" cellspacing="0" border="0">
640  <tr>
641    <td class="md">
642      <table cellpadding="0" cellspacing="0" border="0">
643        <tr>
644          <td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::getMemPoolBufferSize </td>
645          <td class="md" valign="top">(&nbsp;</td>
646          <td class="md" nowrap valign="top"><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a> *&nbsp;</td>
647          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aBufferInfo</em>          </td>
648          <td class="md" valign="top">)&nbsp;</td>
649          <td class="md" nowrap> const<code> [protected]</code></td>
650        </tr>
651
652      </table>
653    </td>
654  </tr>
655</table>
656<table cellspacing=5 cellpadding=0 border=0>
657  <tr>
658    <td>
659      &nbsp;
660    </td>
661    <td>
662
663<p>
664    </td>
665  </tr>
666</table>
667<a name="b9" doxytag="OsclMemPoolResizableAllocator::memoryPoolBufferMgmtOverhead"></a><p>
668<table width="100%" cellpadding="2" cellspacing="0" border="0">
669  <tr>
670    <td class="md">
671      <table cellpadding="0" cellspacing="0" border="0">
672        <tr>
673          <td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::memoryPoolBufferMgmtOverhead </td>
674          <td class="md" valign="top">(&nbsp;</td>
675          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
676          <td class="md" valign="top">)&nbsp;</td>
677          <td class="md" nowrap><code> [protected]</code></td>
678        </tr>
679
680      </table>
681    </td>
682  </tr>
683</table>
684<table cellspacing=5 cellpadding=0 border=0>
685  <tr>
686    <td>
687      &nbsp;
688    </td>
689    <td>
690
691<p>
692    </td>
693  </tr>
694</table>
695<a name="a10" doxytag="OsclMemPoolResizableAllocator::notifyfreeblockavailable"></a><p>
696<table width="100%" cellpadding="2" cellspacing="0" border="0">
697  <tr>
698    <td class="md">
699      <table cellpadding="0" cellspacing="0" border="0">
700        <tr>
701          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::notifyfreeblockavailable </td>
702          <td class="md" valign="top">(&nbsp;</td>
703          <td class="md" nowrap valign="top"><a class="el" href="classOsclMemPoolResizableAllocatorObserver.html">OsclMemPoolResizableAllocatorObserver</a> &amp;&nbsp;</td>
704          <td class="mdname" nowrap>&nbsp; <em>aObserver</em>, </td>
705        </tr>
706        <tr>
707          <td></td>
708          <td></td>
709          <td class="md" nowrap>uint32&nbsp;</td>
710          <td class="mdname" nowrap>&nbsp; <em>aRequestedSize</em> = 0, </td>
711        </tr>
712        <tr>
713          <td></td>
714          <td></td>
715          <td class="md" nowrap><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
716          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
717        </tr>
718        <tr>
719          <td></td>
720          <td class="md">)&nbsp;</td>
721          <td class="md" colspan="2"><code> [virtual]</code></td>
722        </tr>
723
724      </table>
725    </td>
726  </tr>
727</table>
728<table cellspacing=5 cellpadding=0 border=0>
729  <tr>
730    <td>
731      &nbsp;
732    </td>
733    <td>
734
735<p>
736This API will set the flag to send a callback via specified observer object when the next memory block is deallocated by <a class="el" href="classOsclMemPoolResizableAllocator.html#a3">deallocate()</a> call. If the optional requested size parameter is set, the callback is sent when a free memory space of requested size becomes available. The optional context data is returned with the callback and can be used by the user to differentiate.between different instances of memory pool objects. This memory pool only allows one notify to be queued. Another call to this function will just overwrite the previous call.
737<p>
738<dl compact><dt><b>Returns: </b></dt><dd>
739void </dl>    </td>
740  </tr>
741</table>
742<a name="a12" doxytag="OsclMemPoolResizableAllocator::notifyfreememoryavailable"></a><p>
743<table width="100%" cellpadding="2" cellspacing="0" border="0">
744  <tr>
745    <td class="md">
746      <table cellpadding="0" cellspacing="0" border="0">
747        <tr>
748          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::notifyfreememoryavailable </td>
749          <td class="md" valign="top">(&nbsp;</td>
750          <td class="md" nowrap valign="top"><a class="el" href="classOsclMemPoolResizableAllocatorMemoryObserver.html">OsclMemPoolResizableAllocatorMemoryObserver</a> &amp;&nbsp;</td>
751          <td class="mdname" nowrap>&nbsp; <em>aObserver</em>, </td>
752        </tr>
753        <tr>
754          <td></td>
755          <td></td>
756          <td class="md" nowrap>uint32&nbsp;</td>
757          <td class="mdname" nowrap>&nbsp; <em>aRequestedSize</em> = 0, </td>
758        </tr>
759        <tr>
760          <td></td>
761          <td></td>
762          <td class="md" nowrap><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
763          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
764        </tr>
765        <tr>
766          <td></td>
767          <td class="md">)&nbsp;</td>
768          <td class="md" colspan="2"><code> [virtual]</code></td>
769        </tr>
770
771      </table>
772    </td>
773  </tr>
774</table>
775<table cellspacing=5 cellpadding=0 border=0>
776  <tr>
777    <td>
778      &nbsp;
779    </td>
780    <td>
781
782<p>
783    </td>
784  </tr>
785</table>
786<a name="a15" doxytag="OsclMemPoolResizableAllocator::removeRef"></a><p>
787<table width="100%" cellpadding="2" cellspacing="0" border="0">
788  <tr>
789    <td class="md">
790      <table cellpadding="0" cellspacing="0" border="0">
791        <tr>
792          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::removeRef </td>
793          <td class="md" valign="top">(&nbsp;</td>
794          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
795          <td class="md" valign="top">)&nbsp;</td>
796          <td class="md" nowrap></td>
797        </tr>
798
799      </table>
800    </td>
801  </tr>
802</table>
803<table cellspacing=5 cellpadding=0 border=0>
804  <tr>
805    <td>
806      &nbsp;
807    </td>
808    <td>
809
810<p>
811Decrements the reference count for this memory pool allocator When the reference count goes to 0, this instance of the memory pool object is deleted
812<p>
813<dl compact><dt><b>Returns: </b></dt><dd>
814void </dl>    </td>
815  </tr>
816</table>
817<a name="a9" doxytag="OsclMemPoolResizableAllocator::setMaxSzForNewMemPoolBuffer"></a><p>
818<table width="100%" cellpadding="2" cellspacing="0" border="0">
819  <tr>
820    <td class="md">
821      <table cellpadding="0" cellspacing="0" border="0">
822        <tr>
823          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF bool OsclMemPoolResizableAllocator::setMaxSzForNewMemPoolBuffer </td>
824          <td class="md" valign="top">(&nbsp;</td>
825          <td class="md" nowrap valign="top">uint32&nbsp;</td>
826          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aMaxNewMemPoolBufferSz</em>          </td>
827          <td class="md" valign="top">)&nbsp;</td>
828          <td class="md" nowrap><code> [virtual]</code></td>
829        </tr>
830
831      </table>
832    </td>
833  </tr>
834</table>
835<table cellspacing=5 cellpadding=0 border=0>
836  <tr>
837    <td>
838      &nbsp;
839    </td>
840    <td>
841
842<p>
843    </td>
844  </tr>
845</table>
846<a name="a4" doxytag="OsclMemPoolResizableAllocator::trim"></a><p>
847<table width="100%" cellpadding="2" cellspacing="0" border="0">
848  <tr>
849    <td class="md">
850      <table cellpadding="0" cellspacing="0" border="0">
851        <tr>
852          <td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF bool OsclMemPoolResizableAllocator::trim </td>
853          <td class="md" valign="top">(&nbsp;</td>
854          <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
855          <td class="mdname" nowrap>&nbsp; <em>aPtr</em>, </td>
856        </tr>
857        <tr>
858          <td></td>
859          <td></td>
860          <td class="md" nowrap>uint32&nbsp;</td>
861          <td class="mdname" nowrap>&nbsp; <em>aBytesToFree</em></td>
862        </tr>
863        <tr>
864          <td></td>
865          <td class="md">)&nbsp;</td>
866          <td class="md" colspan="2"><code> [virtual]</code></td>
867        </tr>
868
869      </table>
870    </td>
871  </tr>
872</table>
873<table cellspacing=5 cellpadding=0 border=0>
874  <tr>
875    <td>
876      &nbsp;
877    </td>
878    <td>
879
880<p>
881Returns a tail segment of a previously allocated memory block back to the memory pool. The passed-in pointer to the memory buffer is still valid after the call completes but the buffer size is smaller by by specified amount that was freed. This function allows the user to allocate a larger size block initially when the amount needed is unknown and then return the unused portion of the block when the amount becomes known. This API throws an exception if the pointer passed in is not part of the memory pool or the size to return is bigger than the size of the passed-in block. Exception will be thrown if the memory pool is not set up yet.
882<p>
883<dl compact><dt><b>Returns: </b></dt><dd>
884bool True if trim operation successful. False if the block wasn't trimmed </dl>    </td>
885  </tr>
886</table>
887<a name="b6" doxytag="OsclMemPoolResizableAllocator::validateblock"></a><p>
888<table width="100%" cellpadding="2" cellspacing="0" border="0">
889  <tr>
890    <td class="md">
891      <table cellpadding="0" cellspacing="0" border="0">
892        <tr>
893          <td class="md" nowrap valign="top"> bool OsclMemPoolResizableAllocator::validateblock </td>
894          <td class="md" valign="top">(&nbsp;</td>
895          <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
896          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aBlockBufPtr</em>          </td>
897          <td class="md" valign="top">)&nbsp;</td>
898          <td class="md" nowrap><code> [protected]</code></td>
899        </tr>
900
901      </table>
902    </td>
903  </tr>
904</table>
905<table cellspacing=5 cellpadding=0 border=0>
906  <tr>
907    <td>
908      &nbsp;
909    </td>
910    <td>
911
912<p>
913    </td>
914  </tr>
915</table>
916<hr><h2>Field Documentation</h2>
917<a name="n7" doxytag="OsclMemPoolResizableAllocator::iBlockInfoAlignedSize"></a><p>
918<table width="100%" cellpadding="2" cellspacing="0" border="0">
919  <tr>
920    <td class="md">
921      <table cellpadding="0" cellspacing="0" border="0">
922        <tr>
923          <td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iBlockInfoAlignedSize<code> [protected]</code>
924      </table>
925    </td>
926  </tr>
927</table>
928<table cellspacing=5 cellpadding=0 border=0>
929  <tr>
930    <td>
931      &nbsp;
932    </td>
933    <td>
934
935<p>
936    </td>
937  </tr>
938</table>
939<a name="n6" doxytag="OsclMemPoolResizableAllocator::iBufferInfoAlignedSize"></a><p>
940<table width="100%" cellpadding="2" cellspacing="0" border="0">
941  <tr>
942    <td class="md">
943      <table cellpadding="0" cellspacing="0" border="0">
944        <tr>
945          <td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iBufferInfoAlignedSize<code> [protected]</code>
946      </table>
947    </td>
948  </tr>
949</table>
950<table cellspacing=5 cellpadding=0 border=0>
951  <tr>
952    <td>
953      &nbsp;
954    </td>
955    <td>
956
957<p>
958    </td>
959  </tr>
960</table>
961<a name="n12" doxytag="OsclMemPoolResizableAllocator::iCheckFreeMemoryAvailable"></a><p>
962<table width="100%" cellpadding="2" cellspacing="0" border="0">
963  <tr>
964    <td class="md">
965      <table cellpadding="0" cellspacing="0" border="0">
966        <tr>
967          <td class="md" nowrap valign="top"> bool OsclMemPoolResizableAllocator::iCheckFreeMemoryAvailable<code> [protected]</code>
968      </table>
969    </td>
970  </tr>
971</table>
972<table cellspacing=5 cellpadding=0 border=0>
973  <tr>
974    <td>
975      &nbsp;
976    </td>
977    <td>
978
979<p>
980    </td>
981  </tr>
982</table>
983<a name="n8" doxytag="OsclMemPoolResizableAllocator::iCheckNextAvailable"></a><p>
984<table width="100%" cellpadding="2" cellspacing="0" border="0">
985  <tr>
986    <td class="md">
987      <table cellpadding="0" cellspacing="0" border="0">
988        <tr>
989          <td class="md" nowrap valign="top"> bool OsclMemPoolResizableAllocator::iCheckNextAvailable<code> [protected]</code>
990      </table>
991    </td>
992  </tr>
993</table>
994<table cellspacing=5 cellpadding=0 border=0>
995  <tr>
996    <td>
997      &nbsp;
998    </td>
999    <td>
1000
1001<p>
1002    </td>
1003  </tr>
1004</table>
1005<a name="n17" doxytag="OsclMemPoolResizableAllocator::iEnableNullPtrReturn"></a><p>
1006<table width="100%" cellpadding="2" cellspacing="0" border="0">
1007  <tr>
1008    <td class="md">
1009      <table cellpadding="0" cellspacing="0" border="0">
1010        <tr>
1011          <td class="md" nowrap valign="top"> bool OsclMemPoolResizableAllocator::iEnableNullPtrReturn<code> [protected]</code>
1012      </table>
1013    </td>
1014  </tr>
1015</table>
1016<table cellspacing=5 cellpadding=0 border=0>
1017  <tr>
1018    <td>
1019      &nbsp;
1020    </td>
1021    <td>
1022
1023<p>
1024    </td>
1025  </tr>
1026</table>
1027<a name="n2" doxytag="OsclMemPoolResizableAllocator::iExpectedNumBlocksPerBuffer"></a><p>
1028<table width="100%" cellpadding="2" cellspacing="0" border="0">
1029  <tr>
1030    <td class="md">
1031      <table cellpadding="0" cellspacing="0" border="0">
1032        <tr>
1033          <td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iExpectedNumBlocksPerBuffer<code> [protected]</code>
1034      </table>
1035    </td>
1036  </tr>
1037</table>
1038<table cellspacing=5 cellpadding=0 border=0>
1039  <tr>
1040    <td>
1041      &nbsp;
1042    </td>
1043    <td>
1044
1045<p>
1046    </td>
1047  </tr>
1048</table>
1049<a name="n14" doxytag="OsclMemPoolResizableAllocator::iFreeMemContextData"></a><p>
1050<table width="100%" cellpadding="2" cellspacing="0" border="0">
1051  <tr>
1052    <td class="md">
1053      <table cellpadding="0" cellspacing="0" border="0">
1054        <tr>
1055          <td class="md" nowrap valign="top"> <a class="el" href="group__osclbase.html#a25">OsclAny</a>* OsclMemPoolResizableAllocator::iFreeMemContextData<code> [protected]</code>
1056      </table>
1057    </td>
1058  </tr>
1059</table>
1060<table cellspacing=5 cellpadding=0 border=0>
1061  <tr>
1062    <td>
1063      &nbsp;
1064    </td>
1065    <td>
1066
1067<p>
1068    </td>
1069  </tr>
1070</table>
1071<a name="n15" doxytag="OsclMemPoolResizableAllocator::iFreeMemPoolObserver"></a><p>
1072<table width="100%" cellpadding="2" cellspacing="0" border="0">
1073  <tr>
1074    <td class="md">
1075      <table cellpadding="0" cellspacing="0" border="0">
1076        <tr>
1077          <td class="md" nowrap valign="top"> <a class="el" href="classOsclMemPoolResizableAllocatorMemoryObserver.html">OsclMemPoolResizableAllocatorMemoryObserver</a>* OsclMemPoolResizableAllocator::iFreeMemPoolObserver<code> [protected]</code>
1078      </table>
1079    </td>
1080  </tr>
1081</table>
1082<table cellspacing=5 cellpadding=0 border=0>
1083  <tr>
1084    <td>
1085      &nbsp;
1086    </td>
1087    <td>
1088
1089<p>
1090    </td>
1091  </tr>
1092</table>
1093<a name="n3" doxytag="OsclMemPoolResizableAllocator::iMaxNewMemPoolBufferSz"></a><p>
1094<table width="100%" cellpadding="2" cellspacing="0" border="0">
1095  <tr>
1096    <td class="md">
1097      <table cellpadding="0" cellspacing="0" border="0">
1098        <tr>
1099          <td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iMaxNewMemPoolBufferSz<code> [protected]</code>
1100      </table>
1101    </td>
1102  </tr>
1103</table>
1104<table cellspacing=5 cellpadding=0 border=0>
1105  <tr>
1106    <td>
1107      &nbsp;
1108    </td>
1109    <td>
1110
1111<p>
1112    </td>
1113  </tr>
1114</table>
1115<a name="n4" doxytag="OsclMemPoolResizableAllocator::iMemPoolBufferAllocator"></a><p>
1116<table width="100%" cellpadding="2" cellspacing="0" border="0">
1117  <tr>
1118    <td class="md">
1119      <table cellpadding="0" cellspacing="0" border="0">
1120        <tr>
1121          <td class="md" nowrap valign="top"> <a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a>* OsclMemPoolResizableAllocator::iMemPoolBufferAllocator<code> [protected]</code>
1122      </table>
1123    </td>
1124  </tr>
1125</table>
1126<table cellspacing=5 cellpadding=0 border=0>
1127  <tr>
1128    <td>
1129      &nbsp;
1130    </td>
1131    <td>
1132
1133<p>
1134    </td>
1135  </tr>
1136</table>
1137<a name="n5" doxytag="OsclMemPoolResizableAllocator::iMemPoolBufferList"></a><p>
1138<table width="100%" cellpadding="2" cellspacing="0" border="0">
1139  <tr>
1140    <td class="md">
1141      <table cellpadding="0" cellspacing="0" border="0">
1142        <tr>
1143          <td class="md" nowrap valign="top"> <a class="el" href="classOscl__Vector.html">Oscl_Vector</a>&lt;<a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a>*, <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a>&gt; OsclMemPoolResizableAllocator::iMemPoolBufferList<code> [protected]</code>
1144      </table>
1145    </td>
1146  </tr>
1147</table>
1148<table cellspacing=5 cellpadding=0 border=0>
1149  <tr>
1150    <td>
1151      &nbsp;
1152    </td>
1153    <td>
1154
1155<p>
1156    </td>
1157  </tr>
1158</table>
1159<a name="n1" doxytag="OsclMemPoolResizableAllocator::iMemPoolBufferNumLimit"></a><p>
1160<table width="100%" cellpadding="2" cellspacing="0" border="0">
1161  <tr>
1162    <td class="md">
1163      <table cellpadding="0" cellspacing="0" border="0">
1164        <tr>
1165          <td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iMemPoolBufferNumLimit<code> [protected]</code>
1166      </table>
1167    </td>
1168  </tr>
1169</table>
1170<table cellspacing=5 cellpadding=0 border=0>
1171  <tr>
1172    <td>
1173      &nbsp;
1174    </td>
1175    <td>
1176
1177<p>
1178    </td>
1179  </tr>
1180</table>
1181<a name="n0" doxytag="OsclMemPoolResizableAllocator::iMemPoolBufferSize"></a><p>
1182<table width="100%" cellpadding="2" cellspacing="0" border="0">
1183  <tr>
1184    <td class="md">
1185      <table cellpadding="0" cellspacing="0" border="0">
1186        <tr>
1187          <td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iMemPoolBufferSize<code> [protected]</code>
1188      </table>
1189    </td>
1190  </tr>
1191</table>
1192<table cellspacing=5 cellpadding=0 border=0>
1193  <tr>
1194    <td>
1195      &nbsp;
1196    </td>
1197    <td>
1198
1199<p>
1200    </td>
1201  </tr>
1202</table>
1203<a name="n10" doxytag="OsclMemPoolResizableAllocator::iNextAvailableContextData"></a><p>
1204<table width="100%" cellpadding="2" cellspacing="0" border="0">
1205  <tr>
1206    <td class="md">
1207      <table cellpadding="0" cellspacing="0" border="0">
1208        <tr>
1209          <td class="md" nowrap valign="top"> <a class="el" href="group__osclbase.html#a25">OsclAny</a>* OsclMemPoolResizableAllocator::iNextAvailableContextData<code> [protected]</code>
1210      </table>
1211    </td>
1212  </tr>
1213</table>
1214<table cellspacing=5 cellpadding=0 border=0>
1215  <tr>
1216    <td>
1217      &nbsp;
1218    </td>
1219    <td>
1220
1221<p>
1222    </td>
1223  </tr>
1224</table>
1225<a name="n11" doxytag="OsclMemPoolResizableAllocator::iObserver"></a><p>
1226<table width="100%" cellpadding="2" cellspacing="0" border="0">
1227  <tr>
1228    <td class="md">
1229      <table cellpadding="0" cellspacing="0" border="0">
1230        <tr>
1231          <td class="md" nowrap valign="top"> <a class="el" href="classOsclMemPoolResizableAllocatorObserver.html">OsclMemPoolResizableAllocatorObserver</a>* OsclMemPoolResizableAllocator::iObserver<code> [protected]</code>
1232      </table>
1233    </td>
1234  </tr>
1235</table>
1236<table cellspacing=5 cellpadding=0 border=0>
1237  <tr>
1238    <td>
1239      &nbsp;
1240    </td>
1241    <td>
1242
1243<p>
1244    </td>
1245  </tr>
1246</table>
1247<a name="n16" doxytag="OsclMemPoolResizableAllocator::iRefCount"></a><p>
1248<table width="100%" cellpadding="2" cellspacing="0" border="0">
1249  <tr>
1250    <td class="md">
1251      <table cellpadding="0" cellspacing="0" border="0">
1252        <tr>
1253          <td class="md" nowrap valign="top"> int32 OsclMemPoolResizableAllocator::iRefCount<code> [protected]</code>
1254      </table>
1255    </td>
1256  </tr>
1257</table>
1258<table cellspacing=5 cellpadding=0 border=0>
1259  <tr>
1260    <td>
1261      &nbsp;
1262    </td>
1263    <td>
1264
1265<p>
1266    </td>
1267  </tr>
1268</table>
1269<a name="n13" doxytag="OsclMemPoolResizableAllocator::iRequestedAvailableFreeMemSize"></a><p>
1270<table width="100%" cellpadding="2" cellspacing="0" border="0">
1271  <tr>
1272    <td class="md">
1273      <table cellpadding="0" cellspacing="0" border="0">
1274        <tr>
1275          <td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iRequestedAvailableFreeMemSize<code> [protected]</code>
1276      </table>
1277    </td>
1278  </tr>
1279</table>
1280<table cellspacing=5 cellpadding=0 border=0>
1281  <tr>
1282    <td>
1283      &nbsp;
1284    </td>
1285    <td>
1286
1287<p>
1288    </td>
1289  </tr>
1290</table>
1291<a name="n9" doxytag="OsclMemPoolResizableAllocator::iRequestedNextAvailableSize"></a><p>
1292<table width="100%" cellpadding="2" cellspacing="0" border="0">
1293  <tr>
1294    <td class="md">
1295      <table cellpadding="0" cellspacing="0" border="0">
1296        <tr>
1297          <td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iRequestedNextAvailableSize<code> [protected]</code>
1298      </table>
1299    </td>
1300  </tr>
1301</table>
1302<table cellspacing=5 cellpadding=0 border=0>
1303  <tr>
1304    <td>
1305      &nbsp;
1306    </td>
1307    <td>
1308
1309<p>
1310    </td>
1311  </tr>
1312</table>
1313<hr>The documentation for this class was generated from the following file:<ul>
1314<li><a class="el" href="oscl__mem__mempool_8h-source.html">oscl_mem_mempool.h</a></ul>
1315<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
1316<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
1317</small></address>
1318</body>
1319</html>
1320