blob: e44268237d3b0745a174aba7d97dbb2fcd1371ca [file] [log] [blame]
<!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>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- 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 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="classes.html"><span>Class&nbsp;Index</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="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<h1>XalanDOMStringHashTable Class Reference</h1> </div>
</div>
<div class="contents">
<!-- doxytag: class="XalanDOMStringHashTable" -->
<p><code>#include &lt;<a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for XalanDOMStringHashTable:</div>
<div class="dyncontent">
<div class="center"><img src="classXalanDOMStringHashTable__coll__graph.png" border="0" usemap="#XalanDOMStringHashTable_coll__map" alt="Collaboration graph"/></div>
<map name="XalanDOMStringHashTable_coll__map" id="XalanDOMStringHashTable_coll__map">
<area shape="rect" id="node2" href="classXalanVector.html" title="XalanVector\&lt; BucketType, ConstructionTraits \&gt;" alt="" coords="5,5,331,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="classXalanDOMStringHashTable-members.html">List of all members.</a></p>
<h2><a name="pub-types"></a>
Public Types</h2>
<ul>
<li>enum { <a class="el" href="classXalanDOMStringHashTable.html#a1501ea8ec372e342a7d9d2bd0688c40ba103c1770a26db8846c11a2849196626f">eDefaultBucketCount</a> = 101,
<a class="el" href="classXalanDOMStringHashTable.html#a1501ea8ec372e342a7d9d2bd0688c40ba2f743fcc3c448c82be82516310b3514b">eDefaultBucketSize</a> = 15
}
<li>typedef <a class="el" href="classXalanVector.html">XalanVector</a>&lt; const <br class="typebreak"/>
<a class="el" href="classXalanDOMString.html">XalanDOMString</a> * &gt; <a class="el" href="classXalanDOMStringHashTable.html#a5d3451368ab628bd1477a4d6b61c8b03">BucketType</a>
<li>typedef <a class="el" href="classXalanVector.html#ad6fb8b1165e71ac328cf6408c529548f">BucketType::size_type</a> <a class="el" href="classXalanDOMStringHashTable.html#a88fa0c7cb3137de720a23fa55ff671f4">bucket_size_type</a>
<li>typedef <a class="el" href="classXalanVector.html">XalanVector</a><br class="typebreak"/>
&lt; <a class="el" href="classXalanDOMStringHashTable.html#a88fa0c7cb3137de720a23fa55ff671f4">bucket_size_type</a> &gt; <a class="el" href="classXalanDOMStringHashTable.html#a3f1f077a082edc190dc212d38db822aa">BucketCountsType</a>
<li>typedef <br class="typebreak"/>
<a class="el" href="structExplicitMemoryManagedConstructionTraits.html">ExplicitMemoryManagedConstructionTraits</a><br class="typebreak"/>
&lt; <a class="el" href="classXalanVector.html">BucketType</a> &gt; <a class="el" href="classXalanDOMStringHashTable.html#a09a9dc460e07ca8c185ad711ab01d1ad">ConstructionTraits</a>
<li>typedef <a class="el" href="classXalanVector.html">XalanVector</a><br class="typebreak"/>
&lt; <a class="el" href="classXalanVector.html">BucketType</a>, <br class="typebreak"/>
<a class="el" href="structExplicitMemoryManagedConstructionTraits.html">ConstructionTraits</a> &gt; <a class="el" href="classXalanDOMStringHashTable.html#ae5635d5df015c503f935ea8c75626d55">BucketVectorType</a>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classXalanDOMStringHashTable.html#a7e5dea466c5d695462db026b5c99c3ad">XalanDOMStringHashTable</a> (MemoryManager &amp;theManager, size_t theBucketCount=eDefaultBucketCount, <a class="el" href="classXalanDOMStringHashTable.html#a88fa0c7cb3137de720a23fa55ff671f4">bucket_size_type</a> theBucketSize=eDefaultBucketSize)
<dl class="el"><dd class="mdescRight">Create a hash table. <a href="#a7e5dea466c5d695462db026b5c99c3ad"></a><br/></dl><li><a class="el" href="classXalanDOMStringHashTable.html#a44feef67ea71ea607d4607c58d6fddb9">~XalanDOMStringHashTable</a> ()
<li>void <a class="el" href="classXalanDOMStringHashTable.html#a9803a7fc8d0cd88ab671bab290d1d08f">clear</a> ()
<dl class="el"><dd class="mdescRight">Clear the hash table. <a href="#a9803a7fc8d0cd88ab671bab290d1d08f"></a><br/></dl><li>size_t <a class="el" href="classXalanDOMStringHashTable.html#a70d7787bb194f034e74eb854ca4b986d">size</a> () const
<dl class="el"><dd class="mdescRight">Get the number of strings in the table. <a href="#a70d7787bb194f034e74eb854ca4b986d"></a><br/></dl><li>size_t <a class="el" href="classXalanDOMStringHashTable.html#a278096cf83394b2cf91cf97e3ab2d3c3">bucketCount</a> () const
<dl class="el"><dd class="mdescRight">Get the number of buckets in the table. <a href="#a278096cf83394b2cf91cf97e3ab2d3c3"></a><br/></dl><li>void <a class="el" href="classXalanDOMStringHashTable.html#a6dc2a3a6c9838543b2745b8d0afd2ac5">getBucketCounts</a> (<a class="el" href="classXalanVector.html">BucketCountsType</a> &amp;theVector) const
<dl class="el"><dd class="mdescRight">Get the size of each of the buckets in the table. <a href="#a6dc2a3a6c9838543b2745b8d0afd2ac5"></a><br/></dl><li>size_t <a class="el" href="classXalanDOMStringHashTable.html#ada58ede69a4cc2a08a197e4a8db2d58f">collisions</a> () const
<dl class="el"><dd class="mdescRight">Get the collision count. <a href="#ada58ede69a4cc2a08a197e4a8db2d58f"></a><br/></dl><li>const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> * <a class="el" href="classXalanDOMStringHashTable.html#ae63b0f6e59614cdb6108609de74afbea">find</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theString, size_t *theBucketIndex=0) const
<dl class="el"><dd class="mdescRight">Find a string. <a href="#ae63b0f6e59614cdb6108609de74afbea"></a><br/></dl><li>const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> * <a class="el" href="classXalanDOMStringHashTable.html#ae2d3e0c4974e8d2e2a4a3e33b9c5366a">find</a> (const XalanDOMChar *theString, <a class="el" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a> theLength=XalanDOMString::npos, size_t *theBucketIndex=0) const
<dl class="el"><dd class="mdescRight">Find a string. <a href="#ae2d3e0c4974e8d2e2a4a3e33b9c5366a"></a><br/></dl><li>void <a class="el" href="classXalanDOMStringHashTable.html#a51ecfa2a5c3d0bc7b631f6f6ff887ebd">insert</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theString)
<dl class="el"><dd class="mdescRight">Insert a pointer to a string into the table. <a href="#a51ecfa2a5c3d0bc7b631f6f6ff887ebd"></a><br/></dl><li>void <a class="el" href="classXalanDOMStringHashTable.html#a9705404fce141274c978158d480ec187">insert</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theString, size_t theBucketIndex)
<dl class="el"><dd class="mdescRight">Insert a pointer to a string into the table. <a href="#a9705404fce141274c978158d480ec187"></a><br/></dl><li>MemoryManager &amp; <a class="el" href="classXalanDOMStringHashTable.html#a8368bfada09d616b80b4be75aa7d046d">getMemoryManager</a> ()
<li>const MemoryManager &amp; <a class="el" href="classXalanDOMStringHashTable.html#afe6a80f43fee141d1e52d538c3d69a7f">getMemoryManager</a> () const
</ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00040">40</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a88fa0c7cb3137de720a23fa55ff671f4"></a><!-- doxytag: member="XalanDOMStringHashTable::bucket_size_type" ref="a88fa0c7cb3137de720a23fa55ff671f4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classXalanVector.html#ad6fb8b1165e71ac328cf6408c529548f">BucketType::size_type</a> <a class="el" href="classXalanDOMStringHashTable.html#a88fa0c7cb3137de720a23fa55ff671f4">XalanDOMStringHashTable::bucket_size_type</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00045">45</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="a3f1f077a082edc190dc212d38db822aa"></a><!-- doxytag: member="XalanDOMStringHashTable::BucketCountsType" ref="a3f1f077a082edc190dc212d38db822aa" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classXalanVector.html">XalanVector</a>&lt;<a class="el" href="classXalanDOMStringHashTable.html#a88fa0c7cb3137de720a23fa55ff671f4">bucket_size_type</a>&gt; <a class="el" href="classXalanVector.html">XalanDOMStringHashTable::BucketCountsType</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00046">46</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="a5d3451368ab628bd1477a4d6b61c8b03"></a><!-- doxytag: member="XalanDOMStringHashTable::BucketType" ref="a5d3451368ab628bd1477a4d6b61c8b03" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classXalanVector.html">XalanVector</a>&lt;const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>*&gt; <a class="el" href="classXalanVector.html">XalanDOMStringHashTable::BucketType</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00044">44</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="ae5635d5df015c503f935ea8c75626d55"></a><!-- doxytag: member="XalanDOMStringHashTable::BucketVectorType" ref="ae5635d5df015c503f935ea8c75626d55" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classXalanVector.html">XalanVector</a>&lt;<a class="el" href="classXalanVector.html">BucketType</a>, <a class="el" href="structExplicitMemoryManagedConstructionTraits.html">ConstructionTraits</a>&gt; <a class="el" href="classXalanVector.html">XalanDOMStringHashTable::BucketVectorType</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00048">48</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="a09a9dc460e07ca8c185ad711ab01d1ad"></a><!-- doxytag: member="XalanDOMStringHashTable::ConstructionTraits" ref="a09a9dc460e07ca8c185ad711ab01d1ad" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structExplicitMemoryManagedConstructionTraits.html">ExplicitMemoryManagedConstructionTraits</a>&lt;<a class="el" href="classXalanVector.html">BucketType</a>&gt; <a class="el" href="structExplicitMemoryManagedConstructionTraits.html">XalanDOMStringHashTable::ConstructionTraits</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00047">47</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
</div>
</div>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a1501ea8ec372e342a7d9d2bd0688c40b"></a><!-- doxytag: member="XalanDOMStringHashTable::@26" ref="a1501ea8ec372e342a7d9d2bd0688c40b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a1501ea8ec372e342a7d9d2bd0688c40ba103c1770a26db8846c11a2849196626f"></a><!-- doxytag: member="eDefaultBucketCount" ref="a1501ea8ec372e342a7d9d2bd0688c40ba103c1770a26db8846c11a2849196626f" args="" -->eDefaultBucketCount</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a1501ea8ec372e342a7d9d2bd0688c40ba2f743fcc3c448c82be82516310b3514b"></a><!-- doxytag: member="eDefaultBucketSize" ref="a1501ea8ec372e342a7d9d2bd0688c40ba2f743fcc3c448c82be82516310b3514b" args="" -->eDefaultBucketSize</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00050">50</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a7e5dea466c5d695462db026b5c99c3ad"></a><!-- doxytag: member="XalanDOMStringHashTable::XalanDOMStringHashTable" ref="a7e5dea466c5d695462db026b5c99c3ad" args="(MemoryManager &amp;theManager, size_t theBucketCount=eDefaultBucketCount, bucket_size_type theBucketSize=eDefaultBucketSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XalanDOMStringHashTable::XalanDOMStringHashTable </td>
<td>(</td>
<td class="paramtype">MemoryManager &amp;&nbsp;</td>
<td class="paramname"> <em>theManager</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>theBucketCount</em> = <code>eDefaultBucketCount</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classXalanDOMStringHashTable.html#a88fa0c7cb3137de720a23fa55ff671f4">bucket_size_type</a>&nbsp;</td>
<td class="paramname"> <em>theBucketSize</em> = <code>eDefaultBucketSize</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [explicit]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Create a hash table. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><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"></td><td valign="top"><em>theBucketSize</em>&nbsp;</td><td>The initial size of each bucket in the hash table. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a44feef67ea71ea607d4607c58d6fddb9"></a><!-- doxytag: member="XalanDOMStringHashTable::~XalanDOMStringHashTable" ref="a44feef67ea71ea607d4607c58d6fddb9" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XalanDOMStringHashTable::~XalanDOMStringHashTable </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00065">65</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a278096cf83394b2cf91cf97e3ab2d3c3"></a><!-- doxytag: member="XalanDOMStringHashTable::bucketCount" ref="a278096cf83394b2cf91cf97e3ab2d3c3" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t XalanDOMStringHashTable::bucketCount </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the number of buckets in the table. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of buckets in the table </dd></dl>
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00090">90</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="a9803a7fc8d0cd88ab671bab290d1d08f"></a><!-- doxytag: member="XalanDOMStringHashTable::clear" ref="a9803a7fc8d0cd88ab671bab290d1d08f" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XalanDOMStringHashTable::clear </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Clear the hash table. </p>
</div>
</div>
<a class="anchor" id="ada58ede69a4cc2a08a197e4a8db2d58f"></a><!-- doxytag: member="XalanDOMStringHashTable::collisions" ref="ada58ede69a4cc2a08a197e4a8db2d58f" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t XalanDOMStringHashTable::collisions </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the collision count. </p>
<p>Release builds will always return 0.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of collisions. Valid only for non-release builds. </dd></dl>
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00110">110</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="ae63b0f6e59614cdb6108609de74afbea"></a><!-- doxytag: member="XalanDOMStringHashTable::find" ref="ae63b0f6e59614cdb6108609de74afbea" args="(const XalanDOMString &amp;theString, size_t *theBucketIndex=0) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>* XalanDOMStringHashTable::find </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
<td class="paramname"> <em>theString</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&nbsp;</td>
<td class="paramname"> <em>theBucketIndex</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Find a string. </p>
<p>If the string is not found, return null.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>theString</em>&nbsp;</td><td>The string to find. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>theBucketIndex</em>&nbsp;</td><td>The index of the bucket for the string. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the string, or null if not found. </dd></dl>
</div>
</div>
<a class="anchor" id="ae2d3e0c4974e8d2e2a4a3e33b9c5366a"></a><!-- doxytag: member="XalanDOMStringHashTable::find" ref="ae2d3e0c4974e8d2e2a4a3e33b9c5366a" args="(const XalanDOMChar *theString, XalanDOMString::size_type theLength=XalanDOMString::npos, size_t *theBucketIndex=0) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>* XalanDOMStringHashTable::find </td>
<td>(</td>
<td class="paramtype">const XalanDOMChar *&nbsp;</td>
<td class="paramname"> <em>theString</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>&nbsp;</td>
<td class="paramname"> <em>theLength</em> = <code>XalanDOMString::npos</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&nbsp;</td>
<td class="paramname"> <em>theBucketIndex</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Find a string. </p>
<p>If the string is not found, return null. If theBucketIndex is not null, the variable pointed to will be updated with the bucket index that was calculated for the string. This index can be used in a later call to <a class="el" href="classXalanDOMStringHashTable.html#a51ecfa2a5c3d0bc7b631f6f6ff887ebd" title="Insert a pointer to a string into the table.">insert()</a> to avoid recalculating the index.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>theString</em>&nbsp;</td><td>The string to find. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>theLength</em>&nbsp;</td><td>The number of characters in the string. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>theBucketIndex</em>&nbsp;</td><td>A pointer to a parameter to get the bucket index </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the string, or null if not found. </dd></dl>
</div>
</div>
<a class="anchor" id="a6dc2a3a6c9838543b2745b8d0afd2ac5"></a><!-- doxytag: member="XalanDOMStringHashTable::getBucketCounts" ref="a6dc2a3a6c9838543b2745b8d0afd2ac5" args="(BucketCountsType &amp;theVector) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XalanDOMStringHashTable::getBucketCounts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classXalanVector.html">BucketCountsType</a> &amp;&nbsp;</td>
<td class="paramname"> <em>theVector</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the size of each of the buckets in the table. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>A</em>&nbsp;</td><td>vector to return the bucket counts. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a8368bfada09d616b80b4be75aa7d046d"></a><!-- doxytag: member="XalanDOMStringHashTable::getMemoryManager" ref="a8368bfada09d616b80b4be75aa7d046d" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">MemoryManager&amp; XalanDOMStringHashTable::getMemoryManager </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00181">181</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="afe6a80f43fee141d1e52d538c3d69a7f"></a><!-- doxytag: member="XalanDOMStringHashTable::getMemoryManager" ref="afe6a80f43fee141d1e52d538c3d69a7f" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const MemoryManager&amp; XalanDOMStringHashTable::getMemoryManager </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00187">187</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="a51ecfa2a5c3d0bc7b631f6f6ff887ebd"></a><!-- doxytag: member="XalanDOMStringHashTable::insert" ref="a51ecfa2a5c3d0bc7b631f6f6ff887ebd" args="(const XalanDOMString &amp;theString)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XalanDOMStringHashTable::insert </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
<td class="paramname"> <em>theString</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Insert a pointer to a string into the table. </p>
<p>If the string is already present, the string will still be added, but it will never be found, since it will be placed after the identical string.</p>
<p>Note that this class only stores a _pointer_ to a <a class="el" href="classXalanDOMString.html">XalanDOMString</a>. It's expected that the string will be allocated and managed outside of the hash table.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>theString</em>&nbsp;</td><td>The string to insert. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9705404fce141274c978158d480ec187"></a><!-- doxytag: member="XalanDOMStringHashTable::insert" ref="a9705404fce141274c978158d480ec187" args="(const XalanDOMString &amp;theString, size_t theBucketIndex)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XalanDOMStringHashTable::insert </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
<td class="paramname"> <em>theString</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>theBucketIndex</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Insert a pointer to a string into the table. </p>
<p>If the string is already present, the string will still be added, but it will never be found, since it will be placed after the identical string. theBucketIndex _must_ be the index returned from a previous call to find. If not, then the behavior is undefined. This is meant as an optimization to avoid re-hashing the string.</p>
<p>Note that this class only stores a _pointer_ to a <a class="el" href="classXalanDOMString.html">XalanDOMString</a>. It's expected that the string will be allocated and managed outside of the hash table.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>theString</em>&nbsp;</td><td>The string to insert. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>theBucketIndex</em>&nbsp;</td><td>The index of the bucket for the string. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a70d7787bb194f034e74eb854ca4b986d"></a><!-- doxytag: member="XalanDOMStringHashTable::size" ref="a70d7787bb194f034e74eb854ca4b986d" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t XalanDOMStringHashTable::size </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the number of strings in the table. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of strings in the table </dd></dl>
<p>Definition at line <a class="el" href="XalanDOMStringHashTable_8hpp_source.html#l00079">79</a> of file <a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XalanDOMStringHashTable_8hpp_source.html">XalanDOMStringHashTable.hpp</a></li>
</ul>
</div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and
<a href="http://www.graphviz.org/">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="80%">
<tr>
<td width="80%" valign="top">
<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
All Rights Reserved.</p>
</td>
</tr>
<tr>
<td width="100%">
<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
</td>
</tr>
</table>
</body>
</html>