<!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><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>XalanDOMStringHashTable.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XalanDOMStringHashTable_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span>
<a name="l00003"></a>00003 <span class="comment"> * or more contributor license agreements. See the NOTICE file</span>
<a name="l00004"></a>00004 <span class="comment"> * distributed with this work for additional information</span>
<a name="l00005"></a>00005 <span class="comment"> * regarding copyright ownership. The ASF licenses this file</span>
<a name="l00006"></a>00006 <span class="comment"> * to you under the Apache License, Version 2.0 (the  &quot;License&quot;);</span>
<a name="l00007"></a>00007 <span class="comment"> * you may not use this file except in compliance with the License.</span>
<a name="l00008"></a>00008 <span class="comment"> * You may obtain a copy of the License at</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00011"></a>00011 <span class="comment"> *</span>
<a name="l00012"></a>00012 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00013"></a>00013 <span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<a name="l00014"></a>00014 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00015"></a>00015 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00016"></a>00016 <span class="comment"> * limitations under the License.</span>
<a name="l00017"></a>00017 <span class="comment"> */</span>
<a name="l00018"></a>00018 <span class="preprocessor">#if !defined(XALANDOMSTRINGHASHTABLE_HEADER_GUARD_1357924680)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define XALANDOMSTRINGHASHTABLE_HEADER_GUARD_1357924680</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="PlatformSupportDefinitions_8hpp.html">xalanc/PlatformSupport/PlatformSupportDefinitions.hpp</a>&gt;</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="XalanVector_8hpp.html">xalanc/Include/XalanVector.hpp</a>&gt;</span>
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</span>
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 
<a name="l00040"></a><a class="code" href="classXalanDOMStringHashTable.html">00040</a> <span class="keyword">class </span><a class="code" href="PlatformSupportDefinitions_8hpp.html#a72e8d5d428f0210697564ce111006fde">XALAN_PLATFORMSUPPORT_EXPORT</a> <a class="code" href="classXalanDOMStringHashTable.html">XalanDOMStringHashTable</a>
<a name="l00041"></a>00041 {
<a name="l00042"></a>00042 <span class="keyword">public</span>:
<a name="l00043"></a>00043 
<a name="l00044"></a><a class="code" href="classXalanDOMStringHashTable.html#a5d3451368ab628bd1477a4d6b61c8b03">00044</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;const XalanDOMString*&gt;</a>  <a class="code" href="classXalanVector.html">BucketType</a>;
<a name="l00045"></a><a class="code" href="classXalanDOMStringHashTable.html#a88fa0c7cb3137de720a23fa55ff671f4">00045</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html#ad6fb8b1165e71ac328cf6408c529548f">BucketType::size_type</a>               bucket_size_type;
<a name="l00046"></a><a class="code" href="classXalanDOMStringHashTable.html#a3f1f077a082edc190dc212d38db822aa">00046</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;bucket_size_type&gt;</a>       <a class="code" href="classXalanVector.html">BucketCountsType</a>;
<a name="l00047"></a><a class="code" href="classXalanDOMStringHashTable.html#a09a9dc460e07ca8c185ad711ab01d1ad">00047</a>     <span class="keyword">typedef</span> <a class="code" href="structExplicitMemoryManagedConstructionTraits.html">ExplicitMemoryManagedConstructionTraits&lt;BucketType&gt;</a>     <a class="code" href="structExplicitMemoryManagedConstructionTraits.html">ConstructionTraits</a>;
<a name="l00048"></a><a class="code" href="classXalanDOMStringHashTable.html#ae5635d5df015c503f935ea8c75626d55">00048</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;BucketType, ConstructionTraits&gt;</a>     <a class="code" href="classXalanVector.html">BucketVectorType</a>;
<a name="l00049"></a>00049 
<a name="l00050"></a><a class="code" href="classXalanDOMStringHashTable.html#a1501ea8ec372e342a7d9d2bd0688c40ba2f743fcc3c448c82be82516310b3514b">00050</a>     <span class="keyword">enum</span> { eDefaultBucketCount = 101, eDefaultBucketSize = 15 };
<a name="l00051"></a>00051 
<a name="l00052"></a>00052 <span class="comment"></span>
<a name="l00053"></a>00053 <span class="comment">    /**</span>
<a name="l00054"></a>00054 <span class="comment">     * Create a hash table.</span>
<a name="l00055"></a>00055 <span class="comment">     *</span>
<a name="l00056"></a>00056 <span class="comment">     * @param theBucketCount The number of buckets to use for the hash table.  This should be a prime number for best results.</span>
<a name="l00057"></a>00057 <span class="comment">     * @param theBucketSize The initial size of each bucket in the hash table.</span>
<a name="l00058"></a>00058 <span class="comment">     */</span>
<a name="l00059"></a>00059     <span class="keyword">explicit</span>
<a name="l00060"></a>00060     <a class="code" href="classXalanDOMStringHashTable.html">XalanDOMStringHashTable</a>(
<a name="l00061"></a>00061             MemoryManager&amp;  theManager,
<a name="l00062"></a>00062             <span class="keywordtype">size_t</span>              theBucketCount = eDefaultBucketCount,
<a name="l00063"></a>00063             bucket_size_type    theBucketSize = eDefaultBucketSize);
<a name="l00064"></a>00064 
<a name="l00065"></a><a class="code" href="classXalanDOMStringHashTable.html#a44feef67ea71ea607d4607c58d6fddb9">00065</a>     <a class="code" href="classXalanDOMStringHashTable.html#a44feef67ea71ea607d4607c58d6fddb9">~XalanDOMStringHashTable</a>() { }
<a name="l00066"></a>00066 <span class="comment"></span>
<a name="l00067"></a>00067 <span class="comment">    /**</span>
<a name="l00068"></a>00068 <span class="comment">     * Clear the hash table.</span>
<a name="l00069"></a>00069 <span class="comment">     */</span>
<a name="l00070"></a>00070     <span class="keywordtype">void</span>
<a name="l00071"></a>00071     <a class="code" href="DOMStringHelper_8hpp.html#a3beaa7474ee8377a7de5fe4eceddcc94" title="Remove all elements from target string.">clear</a>();
<a name="l00072"></a>00072 <span class="comment"></span>
<a name="l00073"></a>00073 <span class="comment">    /**</span>
<a name="l00074"></a>00074 <span class="comment">     * Get the number of strings in the table</span>
<a name="l00075"></a>00075 <span class="comment">     *</span>
<a name="l00076"></a>00076 <span class="comment">     * @return The number of strings in the table</span>
<a name="l00077"></a>00077 <span class="comment">     */</span>
<a name="l00078"></a>00078     <span class="keywordtype">size_t</span>
<a name="l00079"></a><a class="code" href="classXalanDOMStringHashTable.html#a70d7787bb194f034e74eb854ca4b986d">00079</a>     size()<span class="keyword"> const</span>
<a name="l00080"></a>00080 <span class="keyword">    </span>{
<a name="l00081"></a>00081         <span class="keywordflow">return</span> m_count;
<a name="l00082"></a>00082     }
<a name="l00083"></a>00083 <span class="comment"></span>
<a name="l00084"></a>00084 <span class="comment">    /**</span>
<a name="l00085"></a>00085 <span class="comment">     * Get the number of buckets in the table</span>
<a name="l00086"></a>00086 <span class="comment">     *</span>
<a name="l00087"></a>00087 <span class="comment">     * @return The number of buckets in the table</span>
<a name="l00088"></a>00088 <span class="comment">     */</span>
<a name="l00089"></a>00089     <span class="keywordtype">size_t</span>
<a name="l00090"></a><a class="code" href="classXalanDOMStringHashTable.html#a278096cf83394b2cf91cf97e3ab2d3c3">00090</a>     bucketCount()<span class="keyword"> const</span>
<a name="l00091"></a>00091 <span class="keyword">    </span>{
<a name="l00092"></a>00092         <span class="keywordflow">return</span> m_bucketCount;
<a name="l00093"></a>00093     }
<a name="l00094"></a>00094 <span class="comment"></span>
<a name="l00095"></a>00095 <span class="comment">    /**</span>
<a name="l00096"></a>00096 <span class="comment">     * Get the size of each of the buckets in the table</span>
<a name="l00097"></a>00097 <span class="comment">     *</span>
<a name="l00098"></a>00098 <span class="comment">     * @param A vector to return the bucket counts.</span>
<a name="l00099"></a>00099 <span class="comment">     */</span>
<a name="l00100"></a>00100     <span class="keywordtype">void</span>
<a name="l00101"></a>00101     getBucketCounts(BucketCountsType&amp;   theVector) <span class="keyword">const</span>;
<a name="l00102"></a>00102 <span class="comment"></span>
<a name="l00103"></a>00103 <span class="comment">    /**</span>
<a name="l00104"></a>00104 <span class="comment">     * Get the collision count.  Release builds will always</span>
<a name="l00105"></a>00105 <span class="comment">     * return 0.</span>
<a name="l00106"></a>00106 <span class="comment">     *</span>
<a name="l00107"></a>00107 <span class="comment">     * @return The number of collisions.  Valid only for non-release builds.</span>
<a name="l00108"></a>00108 <span class="comment">     */</span>
<a name="l00109"></a>00109     <span class="keywordtype">size_t</span>
<a name="l00110"></a><a class="code" href="classXalanDOMStringHashTable.html#ada58ede69a4cc2a08a197e4a8db2d58f">00110</a>     collisions()<span class="keyword"> const</span>
<a name="l00111"></a>00111 <span class="keyword">    </span>{
<a name="l00112"></a>00112         <span class="keywordflow">return</span> m_collisions;
<a name="l00113"></a>00113     }
<a name="l00114"></a>00114 <span class="comment"></span>
<a name="l00115"></a>00115 <span class="comment">    /**</span>
<a name="l00116"></a>00116 <span class="comment">     * Find a string.  If the string is not found, return null.</span>
<a name="l00117"></a>00117 <span class="comment">     *</span>
<a name="l00118"></a>00118 <span class="comment">     * @param theString The string to find.</span>
<a name="l00119"></a>00119 <span class="comment">     * @param theBucketIndex The index of the bucket for the string.</span>
<a name="l00120"></a>00120 <span class="comment">     * @return a pointer to the string, or null if not found.</span>
<a name="l00121"></a>00121 <span class="comment">     */</span>
<a name="l00122"></a>00122     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
<a name="l00123"></a>00123     find(
<a name="l00124"></a>00124             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theString,
<a name="l00125"></a>00125             <span class="keywordtype">size_t</span>*                 theBucketIndex = 0) <span class="keyword">const</span>;
<a name="l00126"></a>00126 <span class="comment"></span>
<a name="l00127"></a>00127 <span class="comment">    /**</span>
<a name="l00128"></a>00128 <span class="comment">     * Find a string.  If the string is not found, return null.</span>
<a name="l00129"></a>00129 <span class="comment">     * If theBucketIndex is not null, the variable pointed to</span>
<a name="l00130"></a>00130 <span class="comment">     * will be updated with the bucket index that was calculated</span>
<a name="l00131"></a>00131 <span class="comment">     * for the string.  This index can be used in a later call to</span>
<a name="l00132"></a>00132 <span class="comment">     * insert() to avoid recalculating the index.</span>
<a name="l00133"></a>00133 <span class="comment">     *</span>
<a name="l00134"></a>00134 <span class="comment">     * @param theString The string to find.</span>
<a name="l00135"></a>00135 <span class="comment">     * @param theLength The number of characters in the string.</span>
<a name="l00136"></a>00136 <span class="comment">     * @param theBucketIndex A pointer to a parameter to get the bucket index</span>
<a name="l00137"></a>00137 <span class="comment">     * @return a pointer to the string, or null if not found.</span>
<a name="l00138"></a>00138 <span class="comment">     */</span>
<a name="l00139"></a>00139     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
<a name="l00140"></a>00140     find(
<a name="l00141"></a>00141             <span class="keyword">const</span> XalanDOMChar*         theString,
<a name="l00142"></a>00142             <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>   theLength = <a class="code" href="classXalanDOMString.html#a738c3684088f21a02e16a8a44e525063a79a8556da86ea1ccd6630e6221c1b424">XalanDOMString::npos</a>,
<a name="l00143"></a>00143             <span class="keywordtype">size_t</span>*                     theBucketIndex = 0) <span class="keyword">const</span>;
<a name="l00144"></a>00144 <span class="comment"></span>
<a name="l00145"></a>00145 <span class="comment">    /**</span>
<a name="l00146"></a>00146 <span class="comment">     * Insert a pointer to a string into the table.  If the string</span>
<a name="l00147"></a>00147 <span class="comment">     * is already present, the string will still be added, but it</span>
<a name="l00148"></a>00148 <span class="comment">     * will never be found, since it will be placed after the identical</span>
<a name="l00149"></a>00149 <span class="comment">     * string.</span>
<a name="l00150"></a>00150 <span class="comment">     *</span>
<a name="l00151"></a>00151 <span class="comment">     * Note that this class only stores a _pointer_ to a XalanDOMString.</span>
<a name="l00152"></a>00152 <span class="comment">     * It&#39;s expected that the string will be allocated and managed outside</span>
<a name="l00153"></a>00153 <span class="comment">     * of the hash table.</span>
<a name="l00154"></a>00154 <span class="comment">     *</span>
<a name="l00155"></a>00155 <span class="comment">     * @param theString The string to insert.</span>
<a name="l00156"></a>00156 <span class="comment">     */</span>
<a name="l00157"></a>00157     <span class="keywordtype">void</span>
<a name="l00158"></a>00158     <a class="code" href="DOMStringHelper_8hpp.html#a187f7ce3af838389cab9baff912dd899" title="Insert a string into another string.">insert</a>(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;    theString);
<a name="l00159"></a>00159 <span class="comment"></span>
<a name="l00160"></a>00160 <span class="comment">    /**</span>
<a name="l00161"></a>00161 <span class="comment">     * Insert a pointer to a string into the table.  If the string</span>
<a name="l00162"></a>00162 <span class="comment">     * is already present, the string will still be added, but it</span>
<a name="l00163"></a>00163 <span class="comment">     * will never be found, since it will be placed after the identical</span>
<a name="l00164"></a>00164 <span class="comment">     * string.  theBucketIndex _must_ be the index returned from a</span>
<a name="l00165"></a>00165 <span class="comment">     * previous call to find.  If not, then the behavior is undefined.</span>
<a name="l00166"></a>00166 <span class="comment">     * This is meant as an optimization to avoid re-hashing the string.</span>
<a name="l00167"></a>00167 <span class="comment">     *</span>
<a name="l00168"></a>00168 <span class="comment">     * Note that this class only stores a _pointer_ to a XalanDOMString.</span>
<a name="l00169"></a>00169 <span class="comment">     * It&#39;s expected that the string will be allocated and managed outside</span>
<a name="l00170"></a>00170 <span class="comment">     * of the hash table.</span>
<a name="l00171"></a>00171 <span class="comment">     *</span>
<a name="l00172"></a>00172 <span class="comment">     * @param theString The string to insert.</span>
<a name="l00173"></a>00173 <span class="comment">     * @param theBucketIndex The index of the bucket for the string.</span>
<a name="l00174"></a>00174 <span class="comment">     */</span>
<a name="l00175"></a>00175     <span class="keywordtype">void</span>
<a name="l00176"></a>00176     <a class="code" href="DOMStringHelper_8hpp.html#a187f7ce3af838389cab9baff912dd899" title="Insert a string into another string.">insert</a>(
<a name="l00177"></a>00177             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theString,
<a name="l00178"></a>00178             <span class="keywordtype">size_t</span>                  theBucketIndex);
<a name="l00179"></a>00179 
<a name="l00180"></a>00180     MemoryManager&amp;
<a name="l00181"></a><a class="code" href="classXalanDOMStringHashTable.html#a8368bfada09d616b80b4be75aa7d046d">00181</a>     getMemoryManager()
<a name="l00182"></a>00182     {
<a name="l00183"></a>00183         <span class="keywordflow">return</span> m_buckets.getMemoryManager();
<a name="l00184"></a>00184     }
<a name="l00185"></a>00185 
<a name="l00186"></a>00186     <span class="keyword">const</span> MemoryManager&amp;
<a name="l00187"></a><a class="code" href="classXalanDOMStringHashTable.html#afe6a80f43fee141d1e52d538c3d69a7f">00187</a>     getMemoryManager()<span class="keyword"> const</span>
<a name="l00188"></a>00188 <span class="keyword">    </span>{
<a name="l00189"></a>00189         <span class="keywordflow">return</span> m_buckets.getMemoryManager();
<a name="l00190"></a>00190     }
<a name="l00191"></a>00191 
<a name="l00192"></a>00192 <span class="keyword">private</span>:
<a name="l00193"></a>00193 
<a name="l00194"></a>00194     <span class="comment">// Not implemented, for now...</span>
<a name="l00195"></a>00195     <a class="code" href="classXalanDOMStringHashTable.html">XalanDOMStringHashTable</a>(<span class="keyword">const</span> <a class="code" href="classXalanDOMStringHashTable.html">XalanDOMStringHashTable</a>&amp;);
<a name="l00196"></a>00196 
<a name="l00197"></a>00197     <a class="code" href="classXalanDOMStringHashTable.html">XalanDOMStringHashTable</a>&amp;
<a name="l00198"></a>00198     operator=(<span class="keyword">const</span> <a class="code" href="classXalanDOMStringHashTable.html">XalanDOMStringHashTable</a>&amp;);
<a name="l00199"></a>00199 
<a name="l00200"></a>00200     <span class="keywordtype">bool</span>
<a name="l00201"></a>00201     <a class="code" href="ElemAttributeSet_8hpp.html#ae199bc16afddda1065706543e752d292">operator==</a>(<span class="keyword">const</span> <a class="code" href="classXalanDOMStringHashTable.html">XalanDOMStringHashTable</a>&amp;) <span class="keyword">const</span>;
<a name="l00202"></a>00202 
<a name="l00203"></a>00203 
<a name="l00204"></a>00204     <span class="comment">// Data members...</span>
<a name="l00205"></a>00205     <span class="keyword">const</span> <span class="keywordtype">size_t</span>            m_bucketCount;
<a name="l00206"></a>00206 
<a name="l00207"></a>00207     <span class="keyword">const</span> bucket_size_type  m_bucketSize;
<a name="l00208"></a>00208 
<a name="l00209"></a>00209     BucketVectorType        m_buckets;
<a name="l00210"></a>00210 
<a name="l00211"></a>00211     <span class="keywordtype">size_t</span>                  m_count;
<a name="l00212"></a>00212 
<a name="l00213"></a>00213     <span class="keywordtype">size_t</span>                  m_collisions;       
<a name="l00214"></a>00214 };
<a name="l00215"></a>00215 
<a name="l00216"></a>00216 
<a name="l00217"></a>00217 
<a name="l00218"></a>00218 XALAN_CPP_NAMESPACE_END
<a name="l00219"></a>00219 
<a name="l00220"></a>00220 
<a name="l00221"></a>00221 
<a name="l00222"></a>00222 <span class="preprocessor">#endif  // !defined(XALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)</span>
</pre></div></div>
</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>
