Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > f6ec3de51c94922f2240c0767594dcf5 > files > 3361

antlr3-C-docs-3.2-14.fc15.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>ANTLR3C: ANTLR3_VECTOR_FACTORY_struct Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">ANTLR3C&#160;<span id="projectnumber">3.1.2</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<h1>ANTLR3_VECTOR_FACTORY_struct Struct Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="ANTLR3_VECTOR_FACTORY_struct" -->
<p>Structure that tracks vectors in a vector and auto deletes the vectors in the vector factory when closed.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;antlr3collections.h&gt;</code></p>
<div class="dynheader">
Collaboration diagram for ANTLR3_VECTOR_FACTORY_struct:</div>
<div class="dyncontent">
<div class="center"><img src="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct__coll__graph.png" border="0" usemap="#_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct_coll__map" alt="Collaboration graph"/></div>
<map name="_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct_coll__map" id="_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct_coll__map">
<area shape="rect" id="node2" href="struct_a_n_t_l_r3___s_t_a_c_k__struct.html" title="Structure that represents a Stack collection." alt="" coords="249,209,460,236"/><area shape="rect" id="node4" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html" title="ANTLR3_VECTOR_struct" alt="" coords="45,109,267,136"/><area shape="rect" id="node6" href="struct_a_n_t_l_r3___v_e_c_t_o_r___e_l_e_m_e_n_t__struct.html" title="ANTLR3_VECTOR_ELEMENT_struct" alt="" coords="5,5,307,32"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#a83818d3064adb58578fe4ad0567fd753">close</a> )(struct <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html">ANTLR3_VECTOR_FACTORY_struct</a> *factory)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to close the vector factory.  <a href="#a83818d3064adb58578fe4ad0567fd753"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___s_t_a_c_k__struct.html">pANTLR3_STACK</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#acd0f61708f1e39b2e88fe63dfc73abd1">freeStack</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Consumers from the factory can release a factory produced vector back to the factory so that it may be reused (and thus conserve memory) by another caller.  <a href="#acd0f61708f1e39b2e88fe63dfc73abd1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html">pANTLR3_VECTOR</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#a6b8a6731dfee30248de74188f6d6acb1">newVector</a> )(struct <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html">ANTLR3_VECTOR_FACTORY_struct</a> *factory)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to supply a new vector.  <a href="#a6b8a6731dfee30248de74188f6d6acb1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="antlr3defs_8h.html#ac41f744abd0fd25144b9eb9d11b1dfd1">ANTLR3_UINT32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#ab02f4d8c74c123a9d4f100285f395dfb">nextVector</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The next vector available in the pool.  <a href="#ab02f4d8c74c123a9d4f100285f395dfb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html">pANTLR3_VECTOR</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#a5511d423918dd58129f1ed61e613810f">pools</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">List of all vector pools allocated so far.  <a href="#a5511d423918dd58129f1ed61e613810f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#a682d89800cb9cc07d495788265ad02b5">returnVector</a> )(struct <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html">ANTLR3_VECTOR_FACTORY_struct</a> *factory, <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html">pANTLR3_VECTOR</a> vector)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to return a vector to the factory for reuse.  <a href="#a682d89800cb9cc07d495788265ad02b5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="antlr3defs_8h.html#a6faef5c4687f8eb633d2aefea93973ca">ANTLR3_INT32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#a853f11c3f176318a279cca18bbc66e7d">thisPool</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Count of the vector pools allocated so far (current active pool)  <a href="#a853f11c3f176318a279cca18bbc66e7d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html">ANTLR3_VECTOR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#a1e5583a477394c1747c3510bd07fa3b6">unTruc</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Trick to quickly initialize a new vector via memcpy and not a function call.  <a href="#a1e5583a477394c1747c3510bd07fa3b6"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Structure that tracks vectors in a vector and auto deletes the vectors in the vector factory when closed. </p>
</div><hr/><h2>Field Documentation</h2>
<a class="anchor" id="a83818d3064adb58578fe4ad0567fd753"></a><!-- doxytag: member="ANTLR3_VECTOR_FACTORY_struct::close" ref="a83818d3064adb58578fe4ad0567fd753" args=")(struct ANTLR3_VECTOR_FACTORY_struct *factory)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#a83818d3064adb58578fe4ad0567fd753">ANTLR3_VECTOR_FACTORY_struct::close</a>)(struct <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html">ANTLR3_VECTOR_FACTORY_struct</a> *factory)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Function to close the vector factory. </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#ad2af1b896785509504749cc82e9ac07a">antlr3VectorFactoryNew()</a>, and <a class="el" href="antlr3commontree_8c.html#a3b4a4fbf57e61ffbe7abd04e12f087bf">factoryClose()</a>.</p>

</div>
</div>
<a class="anchor" id="acd0f61708f1e39b2e88fe63dfc73abd1"></a><!-- doxytag: member="ANTLR3_VECTOR_FACTORY_struct::freeStack" ref="acd0f61708f1e39b2e88fe63dfc73abd1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___s_t_a_c_k__struct.html">pANTLR3_STACK</a> <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#acd0f61708f1e39b2e88fe63dfc73abd1">ANTLR3_VECTOR_FACTORY_struct::freeStack</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Consumers from the factory can release a factory produced vector back to the factory so that it may be reused (and thus conserve memory) by another caller. </p>
<p>The available vectors are stored here. Note that the only vectors avaible in the free chain are produced by this factory, so they need not be explicitly freed when the factory is closed. </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#ad2af1b896785509504749cc82e9ac07a">antlr3VectorFactoryNew()</a>, <a class="el" href="antlr3collections_8c.html#a212aa039ba56656b98bc6e20f2954c1e">closeVectorFactory()</a>, <a class="el" href="antlr3collections_8c.html#aae2b5e482ecb52195b7d0b6693b888c1">newVector()</a>, and <a class="el" href="antlr3collections_8c.html#a884a073fcef4167cb61409395b23971b">returnVector()</a>.</p>

</div>
</div>
<a class="anchor" id="a6b8a6731dfee30248de74188f6d6acb1"></a><!-- doxytag: member="ANTLR3_VECTOR_FACTORY_struct::newVector" ref="a6b8a6731dfee30248de74188f6d6acb1" args=")(struct ANTLR3_VECTOR_FACTORY_struct *factory)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html">pANTLR3_VECTOR</a>(* <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#a6b8a6731dfee30248de74188f6d6acb1">ANTLR3_VECTOR_FACTORY_struct::newVector</a>)(struct <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html">ANTLR3_VECTOR_FACTORY_struct</a> *factory)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Function to supply a new vector. </p>

<p>Referenced by <a class="el" href="antlr3rewritestreams_8c.html#ac615f422720c8da7b94fb5943e2ba683">add()</a>, and <a class="el" href="antlr3defs_8h.html#ad2af1b896785509504749cc82e9ac07a">antlr3VectorFactoryNew()</a>.</p>

</div>
</div>
<a class="anchor" id="ab02f4d8c74c123a9d4f100285f395dfb"></a><!-- doxytag: member="ANTLR3_VECTOR_FACTORY_struct::nextVector" ref="ab02f4d8c74c123a9d4f100285f395dfb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="antlr3defs_8h.html#ac41f744abd0fd25144b9eb9d11b1dfd1">ANTLR3_UINT32</a> <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#ab02f4d8c74c123a9d4f100285f395dfb">ANTLR3_VECTOR_FACTORY_struct::nextVector</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The next vector available in the pool. </p>

<p>Referenced by <a class="el" href="antlr3collections_8c.html#a212aa039ba56656b98bc6e20f2954c1e">closeVectorFactory()</a>, <a class="el" href="antlr3collections_8c.html#af2e0986dc2c7f23b76b653aa3b6e6274">newPool()</a>, and <a class="el" href="antlr3collections_8c.html#aae2b5e482ecb52195b7d0b6693b888c1">newVector()</a>.</p>

</div>
</div>
<a class="anchor" id="a5511d423918dd58129f1ed61e613810f"></a><!-- doxytag: member="ANTLR3_VECTOR_FACTORY_struct::pools" ref="a5511d423918dd58129f1ed61e613810f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html">pANTLR3_VECTOR</a>* <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#a5511d423918dd58129f1ed61e613810f">ANTLR3_VECTOR_FACTORY_struct::pools</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>List of all vector pools allocated so far. </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#ad2af1b896785509504749cc82e9ac07a">antlr3VectorFactoryNew()</a>, <a class="el" href="antlr3collections_8c.html#a212aa039ba56656b98bc6e20f2954c1e">closeVectorFactory()</a>, <a class="el" href="antlr3collections_8c.html#af2e0986dc2c7f23b76b653aa3b6e6274">newPool()</a>, and <a class="el" href="antlr3collections_8c.html#aae2b5e482ecb52195b7d0b6693b888c1">newVector()</a>.</p>

</div>
</div>
<a class="anchor" id="a682d89800cb9cc07d495788265ad02b5"></a><!-- doxytag: member="ANTLR3_VECTOR_FACTORY_struct::returnVector" ref="a682d89800cb9cc07d495788265ad02b5" args=")(struct ANTLR3_VECTOR_FACTORY_struct *factory, pANTLR3_VECTOR vector)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#a682d89800cb9cc07d495788265ad02b5">ANTLR3_VECTOR_FACTORY_struct::returnVector</a>)(struct <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html">ANTLR3_VECTOR_FACTORY_struct</a> *factory, <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html">pANTLR3_VECTOR</a> vector)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Function to return a vector to the factory for reuse. </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#ad2af1b896785509504749cc82e9ac07a">antlr3VectorFactoryNew()</a>, <a class="el" href="antlr3rewritestreams_8c.html#a19609045c50fcc7646b2ad317ac63bf4">freeNodeRS()</a>, and <a class="el" href="antlr3rewritestreams_8c.html#ac62695e133933981a66879766d7f6b13">freeRS()</a>.</p>

</div>
</div>
<a class="anchor" id="a853f11c3f176318a279cca18bbc66e7d"></a><!-- doxytag: member="ANTLR3_VECTOR_FACTORY_struct::thisPool" ref="a853f11c3f176318a279cca18bbc66e7d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="antlr3defs_8h.html#a6faef5c4687f8eb633d2aefea93973ca">ANTLR3_INT32</a> <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#a853f11c3f176318a279cca18bbc66e7d">ANTLR3_VECTOR_FACTORY_struct::thisPool</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Count of the vector pools allocated so far (current active pool) </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#ad2af1b896785509504749cc82e9ac07a">antlr3VectorFactoryNew()</a>, <a class="el" href="antlr3collections_8c.html#a212aa039ba56656b98bc6e20f2954c1e">closeVectorFactory()</a>, <a class="el" href="antlr3collections_8c.html#af2e0986dc2c7f23b76b653aa3b6e6274">newPool()</a>, and <a class="el" href="antlr3collections_8c.html#aae2b5e482ecb52195b7d0b6693b888c1">newVector()</a>.</p>

</div>
</div>
<a class="anchor" id="a1e5583a477394c1747c3510bd07fa3b6"></a><!-- doxytag: member="ANTLR3_VECTOR_FACTORY_struct::unTruc" ref="a1e5583a477394c1747c3510bd07fa3b6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r__struct.html">ANTLR3_VECTOR</a> <a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html#a1e5583a477394c1747c3510bd07fa3b6">ANTLR3_VECTOR_FACTORY_struct::unTruc</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Trick to quickly initialize a new vector via memcpy and not a function call. </p>

<p>Referenced by <a class="el" href="antlr3defs_8h.html#ad2af1b896785509504749cc82e9ac07a">antlr3VectorFactoryNew()</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/<a class="el" href="antlr3collections_8h.html">antlr3collections.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="struct_a_n_t_l_r3___v_e_c_t_o_r___f_a_c_t_o_r_y__struct.html">ANTLR3_VECTOR_FACTORY_struct</a>      </li>
      <li class="footer">Generated on Tue Feb 8 2011 for ANTLR3C by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>