Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > ffa1e6f5ad04360808fe8840fe3ba036 > files > 170

vrq-devel-1.0.88-1.fc14.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>vrq: CObstack Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
  <table border="0" cellspacing="0" cellpadding="0" width="100%">
   <tr>
    <td width="180"><a href="index.html"><img src="vrq.png" width="150" height="100" border="0" alt="vrq"></a></td>
    <td background="top_bg.png" align="right" width="100%">
      <img src="glyth.png" width="500" height="100" border="0" alt="">
    </td>
   </tr>
   <tr>
    <td background="#FFFFFF" align="right" width="50" height="4"></td>
   </tr>
  </table>
</head><body>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<h1>CObstack Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="CObstack" -->
<p>Bulk object allocation object.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="cobstack_8h_source.html">cobstack.h</a>&gt;</code></p>

<p><a href="classCObstack-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>obstackChunk_tag</b></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">obstack chunk definition <br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#a26cb0626f867c18a9c2fa561b8d40c99">CObstack</a> (const char *name, int chunkSize=OBSTACK_DEFAULT_BLOCK_SIZE)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create object stack with given chunk size.  <a href="#a26cb0626f867c18a9c2fa561b8d40c99"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#acd532e9dad49a7f0fb9078662776a798">~CObstack</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy and free object stack storage.  <a href="#acd532e9dad49a7f0fb9078662776a798"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#a5a34d5a2800a901ed15366c11bf269ef">Alloc</a> (<a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate block of storage with given size.  <a href="#a5a34d5a2800a901ed15366c11bf269ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#a7763a15e24a5bd82bc0fd382a1addb06">Free</a> (void *object)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free all storage including and after object.  <a href="#a7763a15e24a5bd82bc0fd382a1addb06"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#aa6d480d625bc9e614d9db94feff56148">GetBase</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get base of current object.  <a href="#aa6d480d625bc9e614d9db94feff56148"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#a1fadce1a7dfba37fb5a11e3c5fd2b5a9">NextFree</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get next free byte of current object.  <a href="#a1fadce1a7dfba37fb5a11e3c5fd2b5a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#ad216d2d013e463d652a79c5e2a709fe9">Finish</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finialized the object.  <a href="#ad216d2d013e463d652a79c5e2a709fe9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#a5eda9721eff6e83fc70b1eecc12037be">Copy</a> (const void *ptr, <a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate storage and copy block of memory to heap.  <a href="#a5eda9721eff6e83fc70b1eecc12037be"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#a8853005f4398d98c243c203a8bd20a07">Copy0</a> (const void *ptr, <a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate storage and copy block of memory with a byte of 0 to heap.  <a href="#a8853005f4398d98c243c203a8bd20a07"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#ad782078a85dc95960411e09afd268ca2">GetObjectSize</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of current open object.  <a href="#ad782078a85dc95960411e09afd268ca2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#af27ba7b48343fbcd84f5420801738f63">Grow</a> (const void *ptr, <a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Grow current object and copy block of data to heap.  <a href="#af27ba7b48343fbcd84f5420801738f63"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#a77717b4a4719f584a299e4a6f25cdc0e">Grow</a> (<a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Grow current object Object stays open and can be grown further.  <a href="#a77717b4a4719f584a299e4a6f25cdc0e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#a170649ea35a6b88632d4441323641860">PtrGrow</a> (void *ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Grow current object and copy pointer to heap.  <a href="#a170649ea35a6b88632d4441323641860"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#a9a1007c7a26a765ed8e007a677f93485">IsOwner</a> (void *ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine if pointer was allocated from this obstack.  <a href="#a9a1007c7a26a765ed8e007a677f93485"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCObstack.html#acaa39ce07caa1c6c972586ced60a39f2">OnExitDumpStats</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OnExitDumpStats Dump memory allocation stats for each obstack at exit.  <a href="#acaa39ce07caa1c6c972586ced60a39f2"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Bulk object allocation object. </p>
<p>Objects are allocated one at a time, but freed all at once. This is very efficient for both persistant and temporary storage. </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a26cb0626f867c18a9c2fa561b8d40c99"></a><!-- doxytag: member="CObstack::CObstack" ref="a26cb0626f867c18a9c2fa561b8d40c99" args="(const char *name, int chunkSize=OBSTACK_DEFAULT_BLOCK_SIZE)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CObstack::CObstack </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>chunkSize</em> = <code>OBSTACK_DEFAULT_BLOCK_SIZE</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create object stack with given chunk size. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name of obstack (used for printing stats) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>chunkSize</em>&nbsp;</td><td>allocation block size. Optional parameter defaults to OBSTACK_DEFAULT_BLOCK_SIZE </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acd532e9dad49a7f0fb9078662776a798"></a><!-- doxytag: member="CObstack::~CObstack" ref="acd532e9dad49a7f0fb9078662776a798" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CObstack::~CObstack </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destroy and free object stack storage. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a5a34d5a2800a901ed15366c11bf269ef"></a><!-- doxytag: member="CObstack::Alloc" ref="a5a34d5a2800a901ed15366c11bf269ef" args="(INT32 size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* CObstack::Alloc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a>&nbsp;</td>
          <td class="paramname"> <em>size</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocate block of storage with given size. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>number of bytes to allocate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to storage. </dd></dl>

</div>
</div>
<a class="anchor" id="a5eda9721eff6e83fc70b1eecc12037be"></a><!-- doxytag: member="CObstack::Copy" ref="a5eda9721eff6e83fc70b1eecc12037be" args="(const void *ptr, INT32 size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* CObstack::Copy </td>
          <td>(</td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a>&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocate storage and copy block of memory to heap. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>pointer to block to copy. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>size in bytes of block to copy. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>finalized pointer to block on heap. </dd></dl>

</div>
</div>
<a class="anchor" id="a8853005f4398d98c243c203a8bd20a07"></a><!-- doxytag: member="CObstack::Copy0" ref="a8853005f4398d98c243c203a8bd20a07" args="(const void *ptr, INT32 size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* CObstack::Copy0 </td>
          <td>(</td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a>&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocate storage and copy block of memory with a byte of 0 to heap. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>pointer to block to copy. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>size in bytes of block to copy. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>finalized pointer to block on heap. </dd></dl>

</div>
</div>
<a class="anchor" id="ad216d2d013e463d652a79c5e2a709fe9"></a><!-- doxytag: member="CObstack::Finish" ref="ad216d2d013e463d652a79c5e2a709fe9" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* CObstack::Finish </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Finialized the object. </p>
<p>After this call the object cannot be grown. The pointer returned will not be relocated after this point. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to base of object. </dd></dl>

</div>
</div>
<a class="anchor" id="a7763a15e24a5bd82bc0fd382a1addb06"></a><!-- doxytag: member="CObstack::Free" ref="a7763a15e24a5bd82bc0fd382a1addb06" args="(void *object)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CObstack::Free </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>object</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free all storage including and after object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>object</em>&nbsp;</td><td>if object is NULL, free all objects on heap. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa6d480d625bc9e614d9db94feff56148"></a><!-- doxytag: member="CObstack::GetBase" ref="aa6d480d625bc9e614d9db94feff56148" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* CObstack::GetBase </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get base of current object. </p>
<p>Object has not been finalized so pointer may change as more space is allocated. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to base. </dd></dl>

</div>
</div>
<a class="anchor" id="ad782078a85dc95960411e09afd268ca2"></a><!-- doxytag: member="CObstack::GetObjectSize" ref="ad782078a85dc95960411e09afd268ca2" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a> CObstack::GetObjectSize </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get size of current open object. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>size in bytes of current object. </dd></dl>

</div>
</div>
<a class="anchor" id="af27ba7b48343fbcd84f5420801738f63"></a><!-- doxytag: member="CObstack::Grow" ref="af27ba7b48343fbcd84f5420801738f63" args="(const void *ptr, INT32 size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CObstack::Grow </td>
          <td>(</td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a>&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Grow current object and copy block of data to heap. </p>
<p>Object stays open and can be grown further. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>pointer to block to copy. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>size in bytes of block to copy. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a77717b4a4719f584a299e4a6f25cdc0e"></a><!-- doxytag: member="CObstack::Grow" ref="a77717b4a4719f584a299e4a6f25cdc0e" args="(INT32 size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CObstack::Grow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="glue_8h.html#a0cb58e7e6f0bad369840a52e54a56ae0">INT32</a>&nbsp;</td>
          <td class="paramname"> <em>size</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Grow current object Object stays open and can be grown further. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>number of bytes to grow object . </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9a1007c7a26a765ed8e007a677f93485"></a><!-- doxytag: member="CObstack::IsOwner" ref="a9a1007c7a26a765ed8e007a677f93485" args="(void *ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int CObstack::IsOwner </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>ptr</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determine if pointer was allocated from this obstack. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>pointer to block. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>non-zero if block was allocated from this obstack. </dd></dl>

</div>
</div>
<a class="anchor" id="a1fadce1a7dfba37fb5a11e3c5fd2b5a9"></a><!-- doxytag: member="CObstack::NextFree" ref="a1fadce1a7dfba37fb5a11e3c5fd2b5a9" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* CObstack::NextFree </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get next free byte of current object. </p>
<p>Object has not been finalized so pointer may change as more space is allocated. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to base. </dd></dl>

</div>
</div>
<a class="anchor" id="acaa39ce07caa1c6c972586ced60a39f2"></a><!-- doxytag: member="CObstack::OnExitDumpStats" ref="acaa39ce07caa1c6c972586ced60a39f2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void CObstack::OnExitDumpStats </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>OnExitDumpStats Dump memory allocation stats for each obstack at exit. </p>

</div>
</div>
<a class="anchor" id="a170649ea35a6b88632d4441323641860"></a><!-- doxytag: member="CObstack::PtrGrow" ref="a170649ea35a6b88632d4441323641860" args="(void *ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CObstack::PtrGrow </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>ptr</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Grow current object and copy pointer to heap. </p>
<p>Object stays open and can be grown further. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>pointer to copy. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/net/fileserver/nas/home/mdh/vrq/src/<a class="el" href="cobstack_8h_source.html">cobstack.h</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>