<!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>XalanDOMStringCache.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XalanDOMStringCache_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(XALAN_DOMSTRINGCACHE_HEADER_GUARD)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define XALAN_DOMSTRINGCACHE_HEADER_GUARD</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 <span class="preprocessor">#include &lt;<a class="code" href="XalanDOMStringReusableAllocator_8hpp.html">xalanc/PlatformSupport/XalanDOMStringReusableAllocator.hpp</a>&gt;</span>
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 
<a name="l00040"></a>00040 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00041"></a>00041 
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 
<a name="l00044"></a><a class="code" href="classXalanDOMStringCache.html">00044</a> <span class="keyword">class </span><a class="code" href="PlatformSupportDefinitions_8hpp.html#a72e8d5d428f0210697564ce111006fde">XALAN_PLATFORMSUPPORT_EXPORT</a> <a class="code" href="classXalanDOMStringCache.html">XalanDOMStringCache</a>
<a name="l00045"></a>00045 {
<a name="l00046"></a>00046 <span class="keyword">public</span>:
<a name="l00047"></a>00047 
<a name="l00048"></a><a class="code" href="classXalanDOMStringCache.html#ae6135e138ead6b461d539944bf853f9aa94bb2e1b74ea808b779b670de9446d4d">00048</a>     <span class="keyword">enum</span> { eDefaultMaximumSize = 100u };
<a name="l00049"></a>00049 
<a name="l00050"></a><a class="code" href="classXalanDOMStringCache.html#a032830a054aba4a81805b50722c571ce">00050</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanVector.html">XalanVector&lt;XalanDOMString*&gt;</a>    <a class="code" href="classXalanVector.html">StringListType</a>;
<a name="l00051"></a>00051 
<a name="l00052"></a>00052     <span class="keyword">explicit</span>
<a name="l00053"></a>00053     <a class="code" href="classXalanDOMStringCache.html">XalanDOMStringCache</a>(
<a name="l00054"></a>00054             MemoryManager&amp;  theManager,
<a name="l00055"></a>00055             XalanSize_t         theMaximumSize = eDefaultMaximumSize);
<a name="l00056"></a>00056 
<a name="l00057"></a>00057     ~<a class="code" href="classXalanDOMStringCache.html">XalanDOMStringCache</a>();
<a name="l00058"></a>00058 
<a name="l00059"></a>00059     XalanSize_t
<a name="l00060"></a><a class="code" href="classXalanDOMStringCache.html#abdb58009d3f1102cc51445a57ac8e474">00060</a>     getMaximumSize()<span class="keyword"> const</span>
<a name="l00061"></a>00061 <span class="keyword">    </span>{
<a name="l00062"></a>00062         <span class="keywordflow">return</span> m_maximumSize;
<a name="l00063"></a>00063     }
<a name="l00064"></a>00064 
<a name="l00065"></a>00065     <span class="keywordtype">void</span>
<a name="l00066"></a><a class="code" href="classXalanDOMStringCache.html#ac80936472c26d54856ae5119cb947288">00066</a>     setMaximumSize(XalanSize_t  theSize)
<a name="l00067"></a>00067     {
<a name="l00068"></a>00068         m_maximumSize = theSize;
<a name="l00069"></a>00069     }
<a name="l00070"></a>00070 
<a name="l00071"></a>00071     <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00072"></a>00072     <span class="keyword">get</span>();
<a name="l00073"></a>00073 
<a name="l00074"></a>00074     <span class="keywordtype">bool</span>
<a name="l00075"></a>00075     release(<a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;     theString);
<a name="l00076"></a>00076 
<a name="l00077"></a>00077     <span class="comment">/*</span>
<a name="l00078"></a>00078 <span class="comment">     * Clear all of the strings in the cache.  This</span>
<a name="l00079"></a>00079 <span class="comment">     * destroys all of the strings.</span>
<a name="l00080"></a>00080 <span class="comment">     *</span>
<a name="l00081"></a>00081 <span class="comment">     */</span>
<a name="l00082"></a>00082     <span class="keywordtype">void</span>
<a name="l00083"></a>00083     <a class="code" href="DOMStringHelper_8hpp.html#a3beaa7474ee8377a7de5fe4eceddcc94" title="Remove all elements from target string.">clear</a>();
<a name="l00084"></a>00084 
<a name="l00085"></a>00085     <span class="comment">/*</span>
<a name="l00086"></a>00086 <span class="comment">     * Reset the cache so that all strings that are</span>
<a name="l00087"></a>00087 <span class="comment">     * currently in use are available.</span>
<a name="l00088"></a>00088 <span class="comment">     */</span>
<a name="l00089"></a>00089     <span class="keywordtype">void</span>
<a name="l00090"></a>00090     reset();
<a name="l00091"></a>00091 
<a name="l00092"></a><a class="code" href="classXalanDOMStringCache_1_1GetAndRelease.html">00092</a>     <span class="keyword">class </span><a class="code" href="classXalanDOMStringCache_1_1GetAndRelease.html">GetAndRelease</a>
<a name="l00093"></a>00093     {
<a name="l00094"></a>00094     <span class="keyword">public</span>:
<a name="l00095"></a>00095 
<a name="l00096"></a><a class="code" href="classXalanDOMStringCache_1_1GetAndRelease.html#a87fa6090fc9b1d275815cb8509baf857">00096</a>         <a class="code" href="classXalanDOMStringCache_1_1GetAndRelease.html">GetAndRelease</a>(<a class="code" href="classXalanDOMStringCache.html">XalanDOMStringCache</a>&amp;  theCache) :
<a name="l00097"></a>00097             m_cache(theCache),
<a name="l00098"></a>00098             m_string(&amp;theCache.get())
<a name="l00099"></a>00099         {
<a name="l00100"></a>00100         }
<a name="l00101"></a>00101 
<a name="l00102"></a><a class="code" href="classXalanDOMStringCache_1_1GetAndRelease.html#a24d62afcacd89c38d70b6c6547737040">00102</a>         ~<a class="code" href="classXalanDOMStringCache_1_1GetAndRelease.html">GetAndRelease</a>()
<a name="l00103"></a>00103         {
<a name="l00104"></a>00104             m_cache.release(*m_string);
<a name="l00105"></a>00105         }
<a name="l00106"></a>00106 
<a name="l00107"></a>00107         <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00108"></a><a class="code" href="classXalanDOMStringCache_1_1GetAndRelease.html#adc032d6da864db574b160983ce932e57">00108</a>         <span class="keyword">get</span>() <span class="keyword">const</span>
<a name="l00109"></a>00109         {
<a name="l00110"></a>00110             <span class="keywordflow">return</span> *m_string;
<a name="l00111"></a>00111         }
<a name="l00112"></a>00112 
<a name="l00113"></a>00113     <span class="keyword">private</span>:
<a name="l00114"></a>00114 
<a name="l00115"></a>00115         <a class="code" href="classXalanDOMStringCache.html">XalanDOMStringCache</a>&amp;    m_cache;
<a name="l00116"></a>00116 
<a name="l00117"></a>00117         <a class="code" href="classXalanDOMString.html">XalanDOMString</a>* <span class="keyword">const</span>   m_string;
<a name="l00118"></a>00118     };
<a name="l00119"></a>00119 
<a name="l00120"></a>00120 <span class="keyword">private</span>:
<a name="l00121"></a>00121 
<a name="l00122"></a>00122     <span class="comment">// not implemented</span>
<a name="l00123"></a>00123     <a class="code" href="classXalanDOMStringCache.html">XalanDOMStringCache</a>(<span class="keyword">const</span> <a class="code" href="classXalanDOMStringCache.html">XalanDOMStringCache</a>&amp;);
<a name="l00124"></a>00124 
<a name="l00125"></a>00125     <span class="keywordtype">bool</span>
<a name="l00126"></a>00126     <a class="code" href="ElemAttributeSet_8hpp.html#ae199bc16afddda1065706543e752d292">operator==</a>(<span class="keyword">const</span> <a class="code" href="classXalanDOMStringCache.html">XalanDOMStringCache</a>&amp;) <span class="keyword">const</span>;
<a name="l00127"></a>00127 
<a name="l00128"></a>00128     <a class="code" href="classXalanDOMStringCache.html">XalanDOMStringCache</a>&amp;
<a name="l00129"></a>00129     operator=(<span class="keyword">const</span> <a class="code" href="classXalanDOMStringCache.html">XalanDOMStringCache</a>&amp;);
<a name="l00130"></a>00130 <span class="comment"></span>
<a name="l00131"></a>00131 <span class="comment">    /**</span>
<a name="l00132"></a>00132 <span class="comment">     * A list to hold the strings that are available...</span>
<a name="l00133"></a>00133 <span class="comment">     */</span>
<a name="l00134"></a>00134     StringListType                      m_availableList;
<a name="l00135"></a>00135 <span class="comment"></span>
<a name="l00136"></a>00136 <span class="comment">    /**</span>
<a name="l00137"></a>00137 <span class="comment">     * A list to hold the strings that are busy...</span>
<a name="l00138"></a>00138 <span class="comment">     */</span>
<a name="l00139"></a>00139     StringListType                      m_busyList;
<a name="l00140"></a>00140 
<a name="l00141"></a>00141     XalanSize_t                         m_maximumSize;
<a name="l00142"></a>00142 
<a name="l00143"></a>00143     <a class="code" href="classXalanDOMStringReusableAllocator.html">XalanDOMStringReusableAllocator</a>     m_allocator;
<a name="l00144"></a>00144 };
<a name="l00145"></a>00145 
<a name="l00146"></a>00146 
<a name="l00147"></a>00147 
<a name="l00148"></a>00148 XALAN_CPP_NAMESPACE_END
<a name="l00149"></a>00149 
<a name="l00150"></a>00150 
<a name="l00151"></a>00151 
<a name="l00152"></a>00152 <span class="preprocessor">#endif  // XALAN_RESULTNAMESPACESSTACK_HEADER_GUARD</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>
