blob: ac2a528a671368e3c4d134da8c20f924874ea36f [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>OsclMemPoolResizableAllocator class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<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>
<hr><h1>OsclMemPoolResizableAllocator Class Reference<br>
<small>
[<a class="el" href="group__osclmemory.html">OSCL Memory</a>]</small>
</h1><code>#include &lt;<a class="el" href="oscl__mem__mempool_8h-source.html">oscl_mem_mempool.h</a>&gt;</code>
<p>
<p>Inheritance diagram for OsclMemPoolResizableAllocator:
<p><center><img src="classOsclMemPoolResizableAllocator.png" usemap="#OsclMemPoolResizableAllocator_map" border="0" alt=""></center>
<map name="OsclMemPoolResizableAllocator_map">
<area href="classOscl__DefAlloc.html" alt="Oscl_DefAlloc" shape="rect" coords="102,56,297,80">
<area href="classOscl__Alloc.html" alt="Oscl_Alloc" shape="rect" coords="0,0,195,24">
<area href="classOscl__Dealloc.html" alt="Oscl_Dealloc" shape="rect" coords="205,0,400,24">
</map>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<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>
<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>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#b2">destroyallmempoolbuffers</a> ()</td></tr>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n0">iMemPoolBufferSize</a></td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n1">iMemPoolBufferNumLimit</a></td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n2">iExpectedNumBlocksPerBuffer</a></td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n3">iMaxNewMemPoolBufferSz</a></td></tr>
<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>
<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>
<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>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n6">iBufferInfoAlignedSize</a></td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n7">iBlockInfoAlignedSize</a></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n8">iCheckNextAvailable</a></td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n9">iRequestedNextAvailableSize</a></td></tr>
<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>
<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>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n12">iCheckFreeMemoryAvailable</a></td></tr>
<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n13">iRequestedAvailableFreeMemSize</a></td></tr>
<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>
<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>
<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n16">iRefCount</a></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classOsclMemPoolResizableAllocator.html#n17">iEnableNullPtrReturn</a></td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="OsclMemPoolResizableAllocator::OsclMemPoolResizableAllocator"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF OsclMemPoolResizableAllocator::OsclMemPoolResizableAllocator </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aMemPoolBufferSize</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aMemPoolBufferNumLimit</em> = 0, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aExpectedNumBlocksPerBuffer</em> = 0, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>gen_alloc</em> = NULL</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
void </dl> </td>
</tr>
</table>
<a name="b0" doxytag="OsclMemPoolResizableAllocator::~OsclMemPoolResizableAllocator"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF OsclMemPoolResizableAllocator::~OsclMemPoolResizableAllocator </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [protected, virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
The destructor for the memory pool. Should not be called directly. Use <a class="el" href="classOsclMemPoolResizableAllocator.html#a15">removeRef()</a> instead. </td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="b1" doxytag="OsclMemPoolResizableAllocator::addnewmempoolbuffer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a>* OsclMemPoolResizableAllocator::addnewmempoolbuffer </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">uint32&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>aBufferSize</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [protected]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a14" doxytag="OsclMemPoolResizableAllocator::addRef"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::addRef </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Increments the reference count for this memory pool allocator
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
void </dl> </td>
</tr>
</table>
<a name="a2" doxytag="OsclMemPoolResizableAllocator::allocate"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a25">OsclAny</a>* OsclMemPoolResizableAllocator::allocate </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const uint32&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>aNumBytes</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
Pointer to memory buffer from memory pool </dl>
<p>
Implements <a class="el" href="classOscl__DefAlloc.html#a0">Oscl_DefAlloc</a>. </td>
</tr>
</table>
<a name="b4" doxytag="OsclMemPoolResizableAllocator::allocateblock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="group__osclbase.html#a25">OsclAny</a>* OsclMemPoolResizableAllocator::allocateblock </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aBlockPtr</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aNumBytes</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [protected]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a11" doxytag="OsclMemPoolResizableAllocator::CancelFreeChunkAvailableCallback"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::CancelFreeChunkAvailableCallback </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This API will cancel any past callback requests..
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
void </dl> </td>
</tr>
</table>
<a name="a13" doxytag="OsclMemPoolResizableAllocator::CancelFreeMemoryAvailableCallback"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::CancelFreeMemoryAvailableCallback </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a3" doxytag="OsclMemPoolResizableAllocator::deallocate"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::deallocate </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>aPtr</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
void </dl>
<p>
Implements <a class="el" href="classOscl__DefAlloc.html#a2">Oscl_DefAlloc</a>. </td>
</tr>
</table>
<a name="b5" doxytag="OsclMemPoolResizableAllocator::deallocateblock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void OsclMemPoolResizableAllocator::deallocateblock </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>aBlockPtr</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [protected]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="b2" doxytag="OsclMemPoolResizableAllocator::destroyallmempoolbuffers"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void OsclMemPoolResizableAllocator::destroyallmempoolbuffers </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [protected]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a1" doxytag="OsclMemPoolResizableAllocator::enablenullpointerreturn"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::enablenullpointerreturn </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
void </dl> </td>
</tr>
</table>
<a name="b3" doxytag="OsclMemPoolResizableAllocator::findfreeblock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBlockInfo.html">MemPoolBlockInfo</a>* OsclMemPoolResizableAllocator::findfreeblock </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">uint32&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>aBlockSize</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [protected]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a6" doxytag="OsclMemPoolResizableAllocator::getAllocatedSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF uint32 OsclMemPoolResizableAllocator::getAllocatedSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Returns 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>
</tr>
</table>
<a name="a7" doxytag="OsclMemPoolResizableAllocator::getAvailableSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF uint32 OsclMemPoolResizableAllocator::getAvailableSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Returns the number of bytes available with the buffer </td>
</tr>
</table>
<a name="a5" doxytag="OsclMemPoolResizableAllocator::getBufferSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 OsclMemPoolResizableAllocator::getBufferSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Returns the size of the buffer &lt;including the overhead bytes that may be allocated by the allocater&gt; </td>
</tr>
</table>
<a name="a8" doxytag="OsclMemPoolResizableAllocator::getLargestContiguousFreeBlockSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF uint32 OsclMemPoolResizableAllocator::getLargestContiguousFreeBlockSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Returns the size of the largest available chunk in the memory. </td>
</tr>
</table>
<a name="b8" doxytag="OsclMemPoolResizableAllocator::getMemPoolBufferAllocatedSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::getMemPoolBufferAllocatedSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a> *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>aBufferInfo</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [protected]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="b7" doxytag="OsclMemPoolResizableAllocator::getMemPoolBufferSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::getMemPoolBufferSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="structOsclMemPoolResizableAllocator_1_1MemPoolBufferInfo.html">MemPoolBufferInfo</a> *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>aBufferInfo</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [protected]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="b9" doxytag="OsclMemPoolResizableAllocator::memoryPoolBufferMgmtOverhead"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::memoryPoolBufferMgmtOverhead </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [protected]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a10" doxytag="OsclMemPoolResizableAllocator::notifyfreeblockavailable"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::notifyfreeblockavailable </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classOsclMemPoolResizableAllocatorObserver.html">OsclMemPoolResizableAllocatorObserver</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aObserver</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aRequestedSize</em> = 0, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
void </dl> </td>
</tr>
</table>
<a name="a12" doxytag="OsclMemPoolResizableAllocator::notifyfreememoryavailable"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::notifyfreememoryavailable </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classOsclMemPoolResizableAllocatorMemoryObserver.html">OsclMemPoolResizableAllocatorMemoryObserver</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aObserver</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aRequestedSize</em> = 0, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a15" doxytag="OsclMemPoolResizableAllocator::removeRef"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclMemPoolResizableAllocator::removeRef </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
void </dl> </td>
</tr>
</table>
<a name="a9" doxytag="OsclMemPoolResizableAllocator::setMaxSzForNewMemPoolBuffer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF bool OsclMemPoolResizableAllocator::setMaxSzForNewMemPoolBuffer </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">uint32&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>aMaxNewMemPoolBufferSz</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a4" doxytag="OsclMemPoolResizableAllocator::trim"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual OSCL_IMPORT_REF bool OsclMemPoolResizableAllocator::trim </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aPtr</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>aBytesToFree</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
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.
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
bool True if trim operation successful. False if the block wasn't trimmed </dl> </td>
</tr>
</table>
<a name="b6" doxytag="OsclMemPoolResizableAllocator::validateblock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool OsclMemPoolResizableAllocator::validateblock </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>aBlockBufPtr</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [protected]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<hr><h2>Field Documentation</h2>
<a name="n7" doxytag="OsclMemPoolResizableAllocator::iBlockInfoAlignedSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iBlockInfoAlignedSize<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n6" doxytag="OsclMemPoolResizableAllocator::iBufferInfoAlignedSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iBufferInfoAlignedSize<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n12" doxytag="OsclMemPoolResizableAllocator::iCheckFreeMemoryAvailable"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool OsclMemPoolResizableAllocator::iCheckFreeMemoryAvailable<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n8" doxytag="OsclMemPoolResizableAllocator::iCheckNextAvailable"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool OsclMemPoolResizableAllocator::iCheckNextAvailable<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n17" doxytag="OsclMemPoolResizableAllocator::iEnableNullPtrReturn"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool OsclMemPoolResizableAllocator::iEnableNullPtrReturn<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n2" doxytag="OsclMemPoolResizableAllocator::iExpectedNumBlocksPerBuffer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iExpectedNumBlocksPerBuffer<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n14" doxytag="OsclMemPoolResizableAllocator::iFreeMemContextData"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="group__osclbase.html#a25">OsclAny</a>* OsclMemPoolResizableAllocator::iFreeMemContextData<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n15" doxytag="OsclMemPoolResizableAllocator::iFreeMemPoolObserver"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="classOsclMemPoolResizableAllocatorMemoryObserver.html">OsclMemPoolResizableAllocatorMemoryObserver</a>* OsclMemPoolResizableAllocator::iFreeMemPoolObserver<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n3" doxytag="OsclMemPoolResizableAllocator::iMaxNewMemPoolBufferSz"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iMaxNewMemPoolBufferSz<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n4" doxytag="OsclMemPoolResizableAllocator::iMemPoolBufferAllocator"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a>* OsclMemPoolResizableAllocator::iMemPoolBufferAllocator<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n5" doxytag="OsclMemPoolResizableAllocator::iMemPoolBufferList"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<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>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n1" doxytag="OsclMemPoolResizableAllocator::iMemPoolBufferNumLimit"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iMemPoolBufferNumLimit<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n0" doxytag="OsclMemPoolResizableAllocator::iMemPoolBufferSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iMemPoolBufferSize<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n10" doxytag="OsclMemPoolResizableAllocator::iNextAvailableContextData"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="group__osclbase.html#a25">OsclAny</a>* OsclMemPoolResizableAllocator::iNextAvailableContextData<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n11" doxytag="OsclMemPoolResizableAllocator::iObserver"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="classOsclMemPoolResizableAllocatorObserver.html">OsclMemPoolResizableAllocatorObserver</a>* OsclMemPoolResizableAllocator::iObserver<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n16" doxytag="OsclMemPoolResizableAllocator::iRefCount"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> int32 OsclMemPoolResizableAllocator::iRefCount<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n13" doxytag="OsclMemPoolResizableAllocator::iRequestedAvailableFreeMemSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iRequestedAvailableFreeMemSize<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="n9" doxytag="OsclMemPoolResizableAllocator::iRequestedNextAvailableSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> uint32 OsclMemPoolResizableAllocator::iRequestedNextAvailableSize<code> [protected]</code>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="oscl__mem__mempool_8h-source.html">oscl_mem_mempool.h</a></ul>
<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
</small></address>
</body>
</html>