blob: dc58130dc6a44c5a3aa33230161da037623c4fec [file] [log] [blame]
<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD>
<BODY>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center">The Xalan C++ XSLT Processor Version 1.10</h3>
</BODY>
<!-- Generated by Doxygen 1.2.8.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>XalanDOMStringPool Class Reference</h1><code>#include &lt;<a class="el" href="XalanDOMStringPool_8hpp-source.html">XalanDOMStringPool.hpp</a>&gt;</code>
<p>
Inheritance diagram for XalanDOMStringPool:<p><center><img src="classXalanDOMStringPool__inherit__graph.gif" border="0" usemap="#XalanDOMStringPool_inherit_map" alt="Inheritance graph"></center>
<map name="XalanDOMStringPool_inherit_map">
<area href="classXercesLiaisonXalanDOMStringPool.html" shape="rect" coords="6,117,228,93">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for XalanDOMStringPool:<p><center><img src="classXalanDOMStringPool__coll__graph.gif" border="0" usemap="#XalanDOMStringPool_coll_map" alt="Collaboration graph"></center>
<map name="XalanDOMStringPool_coll_map">
<area href="classXalanDOMStringHashTable.html" shape="rect" coords="86,224,265,200">
<area href="classXalanMemMgrAutoPtrArray.html" shape="rect" coords="40,133,312,109">
<area href="classXalanMemMgrAutoPtrArray_1_1MemMgrAutoPtrArrayData.html" shape="rect" coords="6,43,345,19">
<area href="classXalanAllocator.html" shape="rect" coords="289,224,481,200">
<area href="classXalanDOMString.html" shape="rect" coords="505,224,622,200">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classXalanDOMStringPool-members.html">List of all members.</a><h2>Public Types</h2>
<ul>
<li>typedef <a class="el" href="classXalanDOMStringAllocator.html">XalanDOMStringAllocator</a> <a class="el" href="classXalanDOMStringPool.html#s0">AllocatorType</a>
<li>typedef <a class="el" href="classXalanAllocator.html#s0">AllocatorType::size_type</a> <a class="el" href="classXalanDOMStringPool.html#s1">block_size_type</a>
<li>typedef size_t <a class="el" href="classXalanDOMStringPool.html#s2">bucket_count_type</a>
<li>typedef XalanDOMStringHashTable::bucket_size_type <a class="el" href="classXalanDOMStringPool.html#s3">bucket_size_type</a>
<li>enum { <a class="el" href="classXalanDOMStringPool.html#s7s4">eDefaultBlockSize</a> = 32,
<a class="el" href="classXalanDOMStringPool.html#s7s5">eDefaultBucketCount</a> = XalanDOMStringHashTable::eDefaultBucketCount,
<a class="el" href="classXalanDOMStringPool.html#s7s6">eDefaultBucketSize</a> = XalanDOMStringHashTable::eDefaultBucketSize
}
</ul>
<h2>Public Methods</h2>
<ul>
<li><a class="el" href="classXalanDOMStringPool.html#a0">XalanDOMStringPool</a> (<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp;theManager, <a class="el" href="classXalanDOMStringPool.html#s1">block_size_type</a> theBlockSize=eDefaultBlockSize, <a class="el" href="classXalanDOMStringPool.html#s2">bucket_count_type</a> theBucketCount=eDefaultBucketCount, <a class="el" href="classXalanDOMStringPool.html#s3">bucket_size_type</a> theBucketSize=eDefaultBucketSize)
<dl class="el"><dd><font size=-1><em>Create a string pool.</em> <a href="#a0">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanDOMStringPool.html#a1">~XalanDOMStringPool</a> ()
<li>virtual void <a class="el" href="classXalanDOMStringPool.html#a2">clear</a> ()
<dl class="el"><dd><font size=-1><em>Clear the pool.</em> <a href="#a2">More...</a><em><br><br></em></font></dl><li>virtual size_t <a class="el" href="classXalanDOMStringPool.html#a3">size</a> () const
<dl class="el"><dd><font size=-1><em>Get the number of strings in the pool.</em> <a href="#a3">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanDOMStringPool.html#a4">get</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theString)
<dl class="el"><dd><font size=-1><em>Get a pooled string.</em> <a href="#a4">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanDOMStringPool.html#a5">get</a> (const XalanDOMChar *theString, <a class="el" href="classXalanDOMString.html#s6">XalanDOMString::size_type</a> theLength=XalanDOMString::npos)
<dl class="el"><dd><font size=-1><em>Get a pooled string.</em> <a href="#a5">More...</a><em><br><br></em></font></dl><li>const <a class="el" href="classXalanDOMStringHashTable.html">XalanDOMStringHashTable</a>&amp; <a class="el" href="classXalanDOMStringPool.html#a6">getHashTable</a> () const
<dl class="el"><dd><font size=-1><em>Get a reference to the pool's hash table.</em> <a href="#a6">More...</a><em><br><br></em></font></dl><li><a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a>&amp; <a class="el" href="classXalanDOMStringPool.html#a7">getMemoryManager</a> ()
<li>const <a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a>&amp; <a class="el" href="classXalanDOMStringPool.html#a8">getMemoryManager</a> () const
</ul>
<h2>Static Public Methods</h2>
<ul>
<li>XalanDOMStringPool* <a class="el" href="classXalanDOMStringPool.html#d0">create</a> (<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp;theManager, <a class="el" href="classXalanDOMStringPool.html#s1">block_size_type</a> theBlockSize=eDefaultBlockSize, <a class="el" href="classXalanDOMStringPool.html#s2">bucket_count_type</a> theBucketCount=eDefaultBucketCount, <a class="el" href="classXalanDOMStringPool.html#s3">bucket_size_type</a> theBucketSize=eDefaultBucketSize)
</ul>
<hr><h2>Member Typedef Documentation</h2>
<a name="s0" doxytag="XalanDOMStringPool::AllocatorType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
typedef <a class="el" href="classXalanDOMStringAllocator.html">XalanDOMStringAllocator</a> XalanDOMStringPool::AllocatorType
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="s1" doxytag="XalanDOMStringPool::block_size_type"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
typedef <a class="el" href="classXalanAllocator.html#s0">AllocatorType::size_type</a> XalanDOMStringPool::block_size_type
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="s2" doxytag="XalanDOMStringPool::bucket_count_type"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
typedef size_t XalanDOMStringPool::bucket_count_type
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="s3" doxytag="XalanDOMStringPool::bucket_size_type"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
typedef XalanDOMStringHashTable::bucket_size_type XalanDOMStringPool::bucket_size_type
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<hr><h2>Member Enumeration Documentation</h2>
<a name="s7" doxytag="XalanDOMStringPool::@10"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
anonymous enum
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt>
<b>Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><a name="s7s4" doxytag="eDefaultBlockSize"></a><em>eDefaultBlockSize</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s7s5" doxytag="eDefaultBucketCount"></a><em>eDefaultBucketCount</em>
&nbsp;</td><td>
</td></tr>
<tr><td valign=top><a name="s7s6" doxytag="eDefaultBucketSize"></a><em>eDefaultBucketSize</em>
&nbsp;</td><td>
</td></tr>
</table>
</dl>
</td>
</tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="XalanDOMStringPool::XalanDOMStringPool"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
XalanDOMStringPool::XalanDOMStringPool (
</b></td>
<td valign="bottom"><b>
<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp; <em>theManager</em>,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
<a class="el" href="classXalanDOMStringPool.html#s1">block_size_type</a> <em>theBlockSize</em> = eDefaultBlockSize,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
<a class="el" href="classXalanDOMStringPool.html#s2">bucket_count_type</a> <em>theBucketCount</em> = eDefaultBucketCount,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
<a class="el" href="classXalanDOMStringPool.html#s3">bucket_size_type</a> <em>theBucketSize</em> = eDefaultBucketSize&nbsp;)<code> [explicit]</code>
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Create a string pool.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theBlockSize</em>
&nbsp;</td><td>
The block size for the allocator. </td></tr>
<tr><td valign=top><em>theBucketCount</em>
&nbsp;</td><td>
The number of buckets to use for the hash table. This should be a prime number for best results. </td></tr>
<tr><td valign=top><em>theBucketSize</em>
&nbsp;</td><td>
The initial size of each bucket in the hash table. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a1" doxytag="XalanDOMStringPool::~XalanDOMStringPool"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
XalanDOMStringPool::~XalanDOMStringPool (
</b></td>
<td valign="bottom"><b>
)<code> [virtual]</code>
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a2" doxytag="XalanDOMStringPool::clear"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
void XalanDOMStringPool::clear (
</b></td>
<td valign="bottom"><b>
)<code> [virtual]</code>
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Clear the pool.
<p>
<p>
Reimplemented in <a class="el" href="classXercesLiaisonXalanDOMStringPool.html#a2">XercesLiaisonXalanDOMStringPool</a>. </td>
</tr>
</table>
<a name="d0" doxytag="XalanDOMStringPool::create"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
XalanDOMStringPool * XalanDOMStringPool::create (
</b></td>
<td valign="bottom"><b>
<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp; <em>theManager</em>,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
<a class="el" href="classXalanDOMStringPool.html#s1">block_size_type</a> <em>theBlockSize</em> = eDefaultBlockSize,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
<a class="el" href="classXalanDOMStringPool.html#s2">bucket_count_type</a> <em>theBucketCount</em> = eDefaultBucketCount,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
<a class="el" href="classXalanDOMStringPool.html#s3">bucket_size_type</a> <em>theBucketSize</em> = eDefaultBucketSize&nbsp;)<code> [static]</code>
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a5" doxytag="XalanDOMStringPool::get"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; XalanDOMStringPool::get (
</b></td>
<td valign="bottom"><b>
const XalanDOMChar * <em>theString</em>,
</b></td>
</tr>
<tr>
<td></td>
<td><b>
<a class="el" href="classXalanDOMString.html#s6">XalanDOMString::size_type</a> <em>theLength</em> = XalanDOMString::npos&nbsp;)<code> [virtual]</code>
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get a pooled string.
<p>
If the string is not pooled, it is added.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theString</em>
&nbsp;</td><td>
The string to pool. </td></tr>
<tr><td valign=top><em>theLength</em>
&nbsp;</td><td>
The length of the string. If <a class="el" href="classXalanDOMString.html#s12s11">XalanDOMString::npos</a>, the string is assumed to be null-terminated. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
a const reference to the pooled string. </dl>
<p>
Reimplemented in <a class="el" href="classXercesLiaisonXalanDOMStringPool.html#a5">XercesLiaisonXalanDOMStringPool</a>. </td>
</tr>
</table>
<a name="a4" doxytag="XalanDOMStringPool::get"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; XalanDOMStringPool::get (
</b></td>
<td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>theString</em>&nbsp;)<code> [virtual]</code>
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get a pooled string.
<p>
If the string is not pooled, it is added.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theString</em>
&nbsp;</td><td>
The string to pool. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
a const reference to the pooled string. </dl>
<p>
Reimplemented in <a class="el" href="classXercesLiaisonXalanDOMStringPool.html#a4">XercesLiaisonXalanDOMStringPool</a>. </td>
</tr>
</table>
<a name="a6" doxytag="XalanDOMStringPool::getHashTable"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
const <a class="el" href="classXalanDOMStringHashTable.html">XalanDOMStringHashTable</a> &amp; XalanDOMStringPool::getHashTable (
</b></td>
<td valign="bottom"><b>
) const
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get a reference to the pool's hash table.
<p>
Useful for diagnostic purposes.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
a const reference to the hash table. </dl> </td>
</tr>
</table>
<a name="a8" doxytag="XalanDOMStringPool::getMemoryManager"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
const <a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp; XalanDOMStringPool::getMemoryManager (
</b></td>
<td valign="bottom"><b>
) const
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a7" doxytag="XalanDOMStringPool::getMemoryManager"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp; XalanDOMStringPool::getMemoryManager (
</b></td>
<td valign="bottom"><b>
)
</b></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="XalanDOMStringPool::size"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap valign="top"><b>
size_t XalanDOMStringPool::size (
</b></td>
<td valign="bottom"><b>
) const<code> [virtual]</code>
</b></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get the number of strings in the pool.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
the size of the pool. </dl>
<p>
Reimplemented in <a class="el" href="classXercesLiaisonXalanDOMStringPool.html#a3">XercesLiaisonXalanDOMStringPool</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XalanDOMStringPool_8hpp-source.html">XalanDOMStringPool.hpp</a></ul>
<p align="center"><a href="diagramnotes.html">Interpreting class diagrams</a></p>
<p><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><A href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</A> and
<A href="http://www.research.att.com/sw/tools/graphviz/">GraphViz</A> are used to generate this API documentation from the Xalan-C header files.</I></FONT></p>
<TABLE border="0" cellpadding="0" cellspacing="0" width="820"><TR><TD bgcolor="#0086b2"><IMG height="1" src="../resources/dot.gif" width="1" alt="dot"></TD></TR></TABLE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%">
<TR>
<TD WIDTH="80%" VALIGN="TOP">
<P ALIGN="CENTER"><B>Xalan-C++ XSLT Processor Version 1.10</B><BR>
Copyright &copy; 1999-2004 The Apache Software Foundation. All Rights Reserved.</i></p>
</TD>
</TR>
<TR>
<TD WIDTH="100%">
<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0" ALT="Apache Logo">
</TD>
</TR>
</TABLE>