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> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </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 <<a class="el" href="oscl__mem__mempool_8h-source.html">oscl_mem_mempool.h</a>></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 </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 </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> * </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 </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 </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 </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 </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 </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 </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 </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 </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a10">notifyfreeblockavailable</a> (<a class="el" href="classOsclMemPoolResizableAllocatorObserver.html">OsclMemPoolResizableAllocatorObserver</a> &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 </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 </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#a12">notifyfreememoryavailable</a> (<a class="el" href="classOsclMemPoolResizableAllocatorMemoryObserver.html">OsclMemPoolResizableAllocatorMemoryObserver</a> &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 </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 </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 </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 </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> * </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 </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> * </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> * </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b4">allocateblock</a> (<a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a> &aBlockPtr, uint32 aNumBytes)</td></tr> 46 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b5">deallocateblock</a> (<a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a> &aBlockPtr)</td></tr> 47 <tr><td nowrap align=right valign=top>bool </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 </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 </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 </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 </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n0">iMemPoolBufferSize</a></td></tr> 53 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n1">iMemPoolBufferNumLimit</a></td></tr> 54 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n2">iExpectedNumBlocksPerBuffer</a></td></tr> 55 <tr><td nowrap align=right valign=top>uint32 </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> * </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>< <a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a> *,<br> 58 <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a> > </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n5">iMemPoolBufferList</a></td></tr> 59 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n6">iBufferInfoAlignedSize</a></td></tr> 60 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n7">iBlockInfoAlignedSize</a></td></tr> 61 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n8">iCheckNextAvailable</a></td></tr> 62 <tr><td nowrap align=right valign=top>uint32 </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> * </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> * </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n11">iObserver</a></td></tr> 65 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n12">iCheckFreeMemoryAvailable</a></td></tr> 66 <tr><td nowrap align=right valign=top>uint32 </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> * </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> * </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n15">iFreeMemPoolObserver</a></td></tr> 69 <tr><td nowrap align=right valign=top>int32 </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n16">iRefCount</a></td></tr> 70 <tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n17">iEnableNullPtrReturn</a></td></tr> 71 </table> 72 <hr><h2>Constructor & 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">( </td> 81 <td class="md" nowrap valign="top">uint32 </td> 82 <td class="mdname" nowrap> <em>aMemPoolBufferSize</em>, </td> 83 </tr> 84 <tr> 85 <td></td> 86 <td></td> 87 <td class="md" nowrap>uint32 </td> 88 <td class="mdname" nowrap> <em>aMemPoolBufferNumLimit</em> = 0, </td> 89 </tr> 90 <tr> 91 <td></td> 92 <td></td> 93 <td class="md" nowrap>uint32 </td> 94 <td class="mdname" nowrap> <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> * </td> 100 <td class="mdname" nowrap> <em>gen_alloc</em> = NULL</td> 101 </tr> 102 <tr> 103 <td></td> 104 <td class="md">) </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 116 </td> 117 <td> 118 119 <p> 120 Create 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> 123 void </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">( </td> 134 <td class="mdname1" valign="top" nowrap> </td> 135 <td class="md" valign="top">) </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 147 </td> 148 <td> 149 150 <p> 151 The 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">( </td> 163 <td class="md" nowrap valign="top">uint32 </td> 164 <td class="mdname1" valign="top" nowrap> <em>aBufferSize</em> </td> 165 <td class="md" valign="top">) </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 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">( </td> 192 <td class="mdname1" valign="top" nowrap> </td> 193 <td class="md" valign="top">) </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 205 </td> 206 <td> 207 208 <p> 209 Increments the reference count for this memory pool allocator 210 <p> 211 <dl compact><dt><b>Returns: </b></dt><dd> 212 void </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">( </td> 223 <td class="md" nowrap valign="top">const uint32 </td> 224 <td class="mdname1" valign="top" nowrap> <em>aNumBytes</em> </td> 225 <td class="md" valign="top">) </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 237 </td> 238 <td> 239 240 <p> 241 Allocates 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> 244 Pointer to memory buffer from memory pool </dl> 245 <p> 246 Implements <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">( </td> 257 <td class="md" nowrap valign="top"><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a> & </td> 258 <td class="mdname" nowrap> <em>aBlockPtr</em>, </td> 259 </tr> 260 <tr> 261 <td></td> 262 <td></td> 263 <td class="md" nowrap>uint32 </td> 264 <td class="mdname" nowrap> <em>aNumBytes</em></td> 265 </tr> 266 <tr> 267 <td></td> 268 <td class="md">) </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 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">( </td> 295 <td class="mdname1" valign="top" nowrap> </td> 296 <td class="md" valign="top">) </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 308 </td> 309 <td> 310 311 <p> 312 This API will cancel any past callback requests.. 313 <p> 314 <dl compact><dt><b>Returns: </b></dt><dd> 315 void </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">( </td> 326 <td class="mdname1" valign="top" nowrap> </td> 327 <td class="md" valign="top">) </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 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">( </td> 354 <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a25">OsclAny</a> * </td> 355 <td class="mdname1" valign="top" nowrap> <em>aPtr</em> </td> 356 <td class="md" valign="top">) </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 368 </td> 369 <td> 370 371 <p> 372 Deallocates 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> 375 void </dl> 376 <p> 377 Implements <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">( </td> 388 <td class="md" nowrap valign="top"><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a> & </td> 389 <td class="mdname1" valign="top" nowrap> <em>aBlockPtr</em> </td> 390 <td class="md" valign="top">) </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 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">( </td> 417 <td class="mdname1" valign="top" nowrap> </td> 418 <td class="md" valign="top">) </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 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">( </td> 445 <td class="mdname1" valign="top" nowrap> </td> 446 <td class="md" valign="top">) </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 458 </td> 459 <td> 460 461 <p> 462 This 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> 465 void </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">( </td> 476 <td class="md" nowrap valign="top">uint32 </td> 477 <td class="mdname1" valign="top" nowrap> <em>aBlockSize</em> </td> 478 <td class="md" valign="top">) </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 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">( </td> 505 <td class="mdname1" valign="top" nowrap> </td> 506 <td class="md" valign="top">) </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 518 </td> 519 <td> 520 521 <p> 522 Returns the number of bytes allocated from the buffer<including the overhead bytes that may be allocated by the allocater to keep track of the chunks allocated> </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">( </td> 533 <td class="mdname1" valign="top" nowrap> </td> 534 <td class="md" valign="top">) </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 546 </td> 547 <td> 548 549 <p> 550 Returns 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">( </td> 561 <td class="mdname1" valign="top" nowrap> </td> 562 <td class="md" valign="top">) </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 574 </td> 575 <td> 576 577 <p> 578 Returns the size of the buffer <including the overhead bytes that may be allocated by the allocater> </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">( </td> 589 <td class="mdname1" valign="top" nowrap> </td> 590 <td class="md" valign="top">) </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 602 </td> 603 <td> 604 605 <p> 606 Returns 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">( </td> 617 <td class="md" nowrap valign="top"><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a> * </td> 618 <td class="mdname1" valign="top" nowrap> <em>aBufferInfo</em> </td> 619 <td class="md" valign="top">) </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 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">( </td> 646 <td class="md" nowrap valign="top"><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a> * </td> 647 <td class="mdname1" valign="top" nowrap> <em>aBufferInfo</em> </td> 648 <td class="md" valign="top">) </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 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">( </td> 675 <td class="mdname1" valign="top" nowrap> </td> 676 <td class="md" valign="top">) </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 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">( </td> 703 <td class="md" nowrap valign="top"><a class="el" href="classOsclMemPoolResizableAllocatorObserver.html">OsclMemPoolResizableAllocatorObserver</a> & </td> 704 <td class="mdname" nowrap> <em>aObserver</em>, </td> 705 </tr> 706 <tr> 707 <td></td> 708 <td></td> 709 <td class="md" nowrap>uint32 </td> 710 <td class="mdname" nowrap> <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> * </td> 716 <td class="mdname" nowrap> <em>aContextData</em> = NULL</td> 717 </tr> 718 <tr> 719 <td></td> 720 <td class="md">) </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 732 </td> 733 <td> 734 735 <p> 736 This 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> 739 void </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">( </td> 750 <td class="md" nowrap valign="top"><a class="el" href="classOsclMemPoolResizableAllocatorMemoryObserver.html">OsclMemPoolResizableAllocatorMemoryObserver</a> & </td> 751 <td class="mdname" nowrap> <em>aObserver</em>, </td> 752 </tr> 753 <tr> 754 <td></td> 755 <td></td> 756 <td class="md" nowrap>uint32 </td> 757 <td class="mdname" nowrap> <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> * </td> 763 <td class="mdname" nowrap> <em>aContextData</em> = NULL</td> 764 </tr> 765 <tr> 766 <td></td> 767 <td class="md">) </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 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">( </td> 794 <td class="mdname1" valign="top" nowrap> </td> 795 <td class="md" valign="top">) </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 807 </td> 808 <td> 809 810 <p> 811 Decrements 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> 814 void </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">( </td> 825 <td class="md" nowrap valign="top">uint32 </td> 826 <td class="mdname1" valign="top" nowrap> <em>aMaxNewMemPoolBufferSz</em> </td> 827 <td class="md" valign="top">) </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 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">( </td> 854 <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a25">OsclAny</a> * </td> 855 <td class="mdname" nowrap> <em>aPtr</em>, </td> 856 </tr> 857 <tr> 858 <td></td> 859 <td></td> 860 <td class="md" nowrap>uint32 </td> 861 <td class="mdname" nowrap> <em>aBytesToFree</em></td> 862 </tr> 863 <tr> 864 <td></td> 865 <td class="md">) </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 877 </td> 878 <td> 879 880 <p> 881 Returns 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> 884 bool 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">( </td> 895 <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a25">OsclAny</a> * </td> 896 <td class="mdname1" valign="top" nowrap> <em>aBlockBufPtr</em> </td> 897 <td class="md" valign="top">) </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 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 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 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 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 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 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 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 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 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 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 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><<a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a>*, <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a>> 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 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 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 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 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 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 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 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 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