<!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>XalanDOMStringReusableAllocator.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XalanDOMStringReusableAllocator_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 
<a name="l00019"></a>00019 <span class="preprocessor">#if !defined(XALANDOMSTRINGREUSABLEALLOCATOR_INCLUDE_GUARD_12455133)</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define XALANDOMSTRINGREUSABLEALLOCATOR_INCLUDE_GUARD_12455133</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 
<a name="l00024"></a>00024 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;<a class="code" href="PlatformSupportDefinitions_8hpp.html">xalanc/PlatformSupport/PlatformSupportDefinitions.hpp</a>&gt;</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="ReusableArenaAllocator_8hpp.html">xalanc/PlatformSupport/ReusableArenaAllocator.hpp</a>&gt;</span>
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 
<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</span>
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 
<a name="l00037"></a>00037 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 
<a name="l00040"></a>00040 
<a name="l00041"></a><a class="code" href="classXalanDOMStringReusableAllocator.html">00041</a> <span class="keyword">class </span><a class="code" href="PlatformSupportDefinitions_8hpp.html#a72e8d5d428f0210697564ce111006fde">XALAN_PLATFORMSUPPORT_EXPORT</a> <a class="code" href="classXalanDOMStringReusableAllocator.html">XalanDOMStringReusableAllocator</a>
<a name="l00042"></a>00042 {
<a name="l00043"></a>00043 <span class="keyword">public</span>:
<a name="l00044"></a>00044 
<a name="l00045"></a><a class="code" href="classXalanDOMStringReusableAllocator.html#a18a1dcf921648dde665abd4c82477931">00045</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>                  <a class="code" href="classXalanDOMString.html">data_type</a>;
<a name="l00046"></a><a class="code" href="classXalanDOMStringReusableAllocator.html#a8032e57056048649a8625983983ac816">00046</a>     <span class="keyword">typedef</span> <a class="code" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">data_type::size_type</a>            data_type_size_type;
<a name="l00047"></a>00047 
<a name="l00048"></a>00048 <span class="preprocessor">#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>    <span class="keyword">typedef</span> <a class="code" href="classReusableArenaBlock.html">ReusableArenaBlock&lt;data_type&gt;</a>   ArenaBlockType;
<a name="l00050"></a>00050 
<a name="l00051"></a>00051     <span class="keyword">typedef</span> <a class="code" href="classReusableArenaBlock.html">ReusableArenaBlock</a>&lt;<a class="code" href="classXalanDOMString.html">data_type</a>,
<a name="l00052"></a>00052                            ArenaBlockType&gt;  <a class="code" href="classReusableArenaAllocator.html">ArenaAllocatorType</a>;
<a name="l00053"></a>00053 <span class="preprocessor">#else</span>
<a name="l00054"></a><a class="code" href="classXalanDOMStringReusableAllocator.html#aed94217d040ef4c76454f176208515e9">00054</a> <span class="preprocessor"></span>    <span class="keyword">typedef</span> <a class="code" href="classReusableArenaAllocator.html">ReusableArenaAllocator&lt;data_type&gt;</a>   <a class="code" href="classReusableArenaAllocator.html">ArenaAllocatorType</a>;
<a name="l00055"></a>00055 <span class="preprocessor">#endif</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span>
<a name="l00057"></a><a class="code" href="classXalanDOMStringReusableAllocator.html#a324e9737ed40c3012da112a2069b67fd">00057</a>     <span class="keyword">typedef</span> <a class="code" href="XalanMap_8hpp.html#a39efc23c4f36ef6389e4a1fbe96c5f2e">ArenaAllocatorType::size_type</a>   size_type;
<a name="l00058"></a>00058 
<a name="l00059"></a><a class="code" href="classXalanDOMStringReusableAllocator.html#a2d71a8445920c6d07c9ac1de1919a718a44edc922ef6b7616d5c2989c81d718cb">00059</a>     <span class="keyword">enum</span> { eDefaultBlockSize = 32 };
<a name="l00060"></a>00060 
<a name="l00061"></a>00061 <span class="comment"></span>
<a name="l00062"></a>00062 <span class="comment">    /**</span>
<a name="l00063"></a>00063 <span class="comment">     * Construct an instance that will allocate in blocks of the specified size.</span>
<a name="l00064"></a>00064 <span class="comment">     *</span>
<a name="l00065"></a>00065 <span class="comment">     * @param theBlockSize The block size.</span>
<a name="l00066"></a>00066 <span class="comment">     */</span>
<a name="l00067"></a>00067     <a class="code" href="classXalanDOMStringReusableAllocator.html">XalanDOMStringReusableAllocator</a>(MemoryManager&amp;      theManager, <a class="code" href="XalanMap_8hpp.html#a39efc23c4f36ef6389e4a1fbe96c5f2e">size_type</a>   theBlockCount);
<a name="l00068"></a>00068 
<a name="l00069"></a>00069     ~<a class="code" href="classXalanDOMStringReusableAllocator.html">XalanDOMStringReusableAllocator</a>();
<a name="l00070"></a>00070 <span class="comment"></span>
<a name="l00071"></a>00071 <span class="comment">    /**</span>
<a name="l00072"></a>00072 <span class="comment">     * Create a XalanDOMString object.</span>
<a name="l00073"></a>00073 <span class="comment">     * </span>
<a name="l00074"></a>00074 <span class="comment">     * @return reference to the new instance</span>
<a name="l00075"></a>00075 <span class="comment">     */</span>
<a name="l00076"></a>00076     data_type&amp;
<a name="l00077"></a>00077     create();
<a name="l00078"></a>00078 <span class="comment"></span>
<a name="l00079"></a>00079 <span class="comment">    /**</span>
<a name="l00080"></a>00080 <span class="comment">     * Create a XalanDOMString object.</span>
<a name="l00081"></a>00081 <span class="comment">     * </span>
<a name="l00082"></a>00082 <span class="comment">     * @param theString A pointer to a character string</span>
<a name="l00083"></a>00083 <span class="comment">     * @param theCount The number of characters in the string, or npos if the string is null-terminated.</span>
<a name="l00084"></a>00084 <span class="comment">     *</span>
<a name="l00085"></a>00085 <span class="comment">     * @return reference to the new instance</span>
<a name="l00086"></a>00086 <span class="comment">     */</span>
<a name="l00087"></a>00087     data_type&amp;
<a name="l00088"></a>00088     create(
<a name="l00089"></a>00089             <span class="keyword">const</span> <span class="keywordtype">char</span>*             theString,
<a name="l00090"></a>00090 #<span class="keywordflow">if</span> defined(_MSC_VER) &amp;&amp; (_MSC_VER &lt;= 1300)
<a name="l00091"></a>00091             <span class="comment">// $$$ ToDo: Some strange bug in MSVC++ complains when using data_type::npos here.</span>
<a name="l00092"></a>00092             data_type_size_type     theCount = data_type_size_type(-1));
<a name="l00093"></a>00093 <span class="preprocessor">#else</span>
<a name="l00094"></a>00094 <span class="preprocessor"></span>            data_type_size_type     theCount = data_type_size_type(data_type::npos));
<a name="l00095"></a>00095 <span class="preprocessor">#endif</span>
<a name="l00096"></a>00096 <span class="preprocessor"></span><span class="comment"></span>
<a name="l00097"></a>00097 <span class="comment">    /**</span>
<a name="l00098"></a>00098 <span class="comment">     * Copy constructor</span>
<a name="l00099"></a>00099 <span class="comment">     * </span>
<a name="l00100"></a>00100 <span class="comment">     * @param theSource The source string for the copy</span>
<a name="l00101"></a>00101 <span class="comment">     * @param theStartPosition The position to start in the source string.</span>
<a name="l00102"></a>00102 <span class="comment">     * @param theCount The number of characters to copy from the source string.</span>
<a name="l00103"></a>00103 <span class="comment">     *</span>
<a name="l00104"></a>00104 <span class="comment">     * @return reference to the new instance</span>
<a name="l00105"></a>00105 <span class="comment">     */</span>
<a name="l00106"></a>00106     data_type&amp;
<a name="l00107"></a>00107     create(
<a name="l00108"></a>00108             <span class="keyword">const</span> data_type&amp;        theSource,
<a name="l00109"></a>00109             data_type_size_type     theStartPosition = 0,
<a name="l00110"></a>00110             data_type_size_type     theCount = data_type_size_type(data_type::npos));
<a name="l00111"></a>00111 <span class="comment"></span>
<a name="l00112"></a>00112 <span class="comment">    /**</span>
<a name="l00113"></a>00113 <span class="comment">     * Create a XalanDOMString object.</span>
<a name="l00114"></a>00114 <span class="comment">     * </span>
<a name="l00115"></a>00115 <span class="comment">     * @param theString A pointer to a wide character string</span>
<a name="l00116"></a>00116 <span class="comment">     * @param theCount The number of characters in the string, or npos if the string is null-terminated.</span>
<a name="l00117"></a>00117 <span class="comment">     *</span>
<a name="l00118"></a>00118 <span class="comment">     * @return reference to the new instance</span>
<a name="l00119"></a>00119 <span class="comment">     */</span>
<a name="l00120"></a>00120     data_type&amp;
<a name="l00121"></a>00121     create(
<a name="l00122"></a>00122             <span class="keyword">const</span> XalanDOMChar*     theString,
<a name="l00123"></a>00123             data_type_size_type     theCount = data_type_size_type(data_type::npos));
<a name="l00124"></a>00124 <span class="comment"></span>
<a name="l00125"></a>00125 <span class="comment">    /**</span>
<a name="l00126"></a>00126 <span class="comment">     * Create a XalanDOMString object.</span>
<a name="l00127"></a>00127 <span class="comment">     *</span>
<a name="l00128"></a>00128 <span class="comment">     * @param theCount the size of the string</span>
<a name="l00129"></a>00129 <span class="comment">     * @param theChar the character used to initialize the string</span>
<a name="l00130"></a>00130 <span class="comment">     *</span>
<a name="l00131"></a>00131 <span class="comment">     * @return reference to the new instance</span>
<a name="l00132"></a>00132 <span class="comment">     */</span>
<a name="l00133"></a>00133     data_type&amp;
<a name="l00134"></a>00134     create(
<a name="l00135"></a>00135             data_type_size_type     theCount,
<a name="l00136"></a>00136             XalanDOMChar            theChar);
<a name="l00137"></a>00137 
<a name="l00138"></a>00138     <span class="comment">/*</span>
<a name="l00139"></a>00139 <span class="comment">     * Destroy a XalanDOMString object.</span>
<a name="l00140"></a>00140 <span class="comment">     *</span>
<a name="l00141"></a>00141 <span class="comment">     */</span>
<a name="l00142"></a>00142     <span class="keywordtype">bool</span>
<a name="l00143"></a><a class="code" href="classXalanDOMStringReusableAllocator.html#a757c223a4d818c3df03b67364a87feb4">00143</a>     destroy(<a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;     theDOMString)
<a name="l00144"></a>00144     {
<a name="l00145"></a>00145         <span class="keywordflow">return</span> m_allocator.destroyObject(&amp;theDOMString);
<a name="l00146"></a>00146     }
<a name="l00147"></a>00147 <span class="comment"></span>
<a name="l00148"></a>00148 <span class="comment">    /**</span>
<a name="l00149"></a>00149 <span class="comment">     * Determine if an object is owned by the allocator...</span>
<a name="l00150"></a>00150 <span class="comment">     */</span>
<a name="l00151"></a>00151     <span class="keywordtype">bool</span>
<a name="l00152"></a><a class="code" href="classXalanDOMStringReusableAllocator.html#a869489e1b646ad7c06c2e5295f4cf607">00152</a>     ownsObject(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">data_type</a>*     theObject)
<a name="l00153"></a>00153     {
<a name="l00154"></a>00154         <span class="keywordflow">return</span> m_allocator.ownsObject(theObject);
<a name="l00155"></a>00155     }
<a name="l00156"></a>00156 <span class="comment"></span>
<a name="l00157"></a>00157 <span class="comment">    /**</span>
<a name="l00158"></a>00158 <span class="comment">     * Delete all instance objects from allocator.   </span>
<a name="l00159"></a>00159 <span class="comment">     */</span> 
<a name="l00160"></a>00160     <span class="keywordtype">void</span>
<a name="l00161"></a><a class="code" href="classXalanDOMStringReusableAllocator.html#aaf1f7c8caaeaa609785649ad54ff0fe8">00161</a>     reset()
<a name="l00162"></a>00162     {
<a name="l00163"></a>00163         m_allocator.reset();
<a name="l00164"></a>00164     }
<a name="l00165"></a>00165 <span class="comment"></span>
<a name="l00166"></a>00166 <span class="comment">    /**</span>
<a name="l00167"></a>00167 <span class="comment">     * Get the number of ArenaBlocks currently allocated.</span>
<a name="l00168"></a>00168 <span class="comment">     *</span>
<a name="l00169"></a>00169 <span class="comment">     * @return The number of blocks.</span>
<a name="l00170"></a>00170 <span class="comment">     */</span>
<a name="l00171"></a>00171     <a class="code" href="XalanMap_8hpp.html#a39efc23c4f36ef6389e4a1fbe96c5f2e">size_type</a>
<a name="l00172"></a><a class="code" href="classXalanDOMStringReusableAllocator.html#a82c745dba80ef76a6fd3472a020da006">00172</a>     getBlockCount()<span class="keyword"> const</span>
<a name="l00173"></a>00173 <span class="keyword">    </span>{
<a name="l00174"></a>00174         <span class="keywordflow">return</span> m_allocator.getBlockCount();
<a name="l00175"></a>00175     }
<a name="l00176"></a>00176 <span class="comment"></span>
<a name="l00177"></a>00177 <span class="comment">    /**</span>
<a name="l00178"></a>00178 <span class="comment">     * Get size of an ArenaBlock, that is, the number</span>
<a name="l00179"></a>00179 <span class="comment">     * of objects in each block.</span>
<a name="l00180"></a>00180 <span class="comment">     *</span>
<a name="l00181"></a>00181 <span class="comment">     * @return The size of the block</span>
<a name="l00182"></a>00182 <span class="comment">     */</span>
<a name="l00183"></a>00183     <a class="code" href="XalanMap_8hpp.html#a39efc23c4f36ef6389e4a1fbe96c5f2e">size_type</a>
<a name="l00184"></a><a class="code" href="classXalanDOMStringReusableAllocator.html#acb28d2ee9042662a32217b59bbff1704">00184</a>     getBlockSize()<span class="keyword"> const</span>
<a name="l00185"></a>00185 <span class="keyword">    </span>{
<a name="l00186"></a>00186         <span class="keywordflow">return</span> m_allocator.getBlockSize();
<a name="l00187"></a>00187     }
<a name="l00188"></a>00188 <span class="comment"></span>
<a name="l00189"></a>00189 <span class="comment">    /**</span>
<a name="l00190"></a>00190 <span class="comment">     * Get a reference to the MemoryManager instance</span>
<a name="l00191"></a>00191 <span class="comment">     * for this instance.</span>
<a name="l00192"></a>00192 <span class="comment">     *</span>
<a name="l00193"></a>00193 <span class="comment">     * @return A reference to the MemoryManager instance.</span>
<a name="l00194"></a>00194 <span class="comment">     */</span>
<a name="l00195"></a>00195     MemoryManager&amp;
<a name="l00196"></a><a class="code" href="classXalanDOMStringReusableAllocator.html#a6267f1a61e8b1c418427fb495a22964b">00196</a>     getMemoryManager()
<a name="l00197"></a>00197     {
<a name="l00198"></a>00198         <span class="keywordflow">return</span> m_allocator.getMemoryManager();
<a name="l00199"></a>00199     }
<a name="l00200"></a>00200 <span class="comment"></span>
<a name="l00201"></a>00201 <span class="comment">    /**</span>
<a name="l00202"></a>00202 <span class="comment">     * Get a reference to the MemoryManager instance</span>
<a name="l00203"></a>00203 <span class="comment">     * for this instance.</span>
<a name="l00204"></a>00204 <span class="comment">     *</span>
<a name="l00205"></a>00205 <span class="comment">     * @return A reference to the MemoryManager instance.</span>
<a name="l00206"></a>00206 <span class="comment">     */</span>
<a name="l00207"></a>00207     <span class="keyword">const</span> MemoryManager&amp;
<a name="l00208"></a><a class="code" href="classXalanDOMStringReusableAllocator.html#ace7fff71f0fa9c39cd6533a496c41210">00208</a>     getMemoryManager()<span class="keyword"> const</span>
<a name="l00209"></a>00209 <span class="keyword">    </span>{
<a name="l00210"></a>00210         <span class="keywordflow">return</span> m_allocator.getMemoryManager();
<a name="l00211"></a>00211     }
<a name="l00212"></a>00212 
<a name="l00213"></a>00213 <span class="keyword">private</span>:
<a name="l00214"></a>00214 
<a name="l00215"></a>00215     <span class="comment">// Not implemented...</span>
<a name="l00216"></a>00216     <a class="code" href="classXalanDOMStringReusableAllocator.html">XalanDOMStringReusableAllocator</a>(<span class="keyword">const</span> <a class="code" href="classXalanDOMStringReusableAllocator.html">XalanDOMStringReusableAllocator</a>&amp;);
<a name="l00217"></a>00217 
<a name="l00218"></a>00218     <a class="code" href="classXalanDOMStringReusableAllocator.html">XalanDOMStringReusableAllocator</a>&amp;
<a name="l00219"></a>00219     operator=(<span class="keyword">const</span> <a class="code" href="classXalanDOMStringReusableAllocator.html">XalanDOMStringReusableAllocator</a>&amp;);
<a name="l00220"></a>00220 
<a name="l00221"></a>00221     <span class="comment">// Data members...</span>
<a name="l00222"></a>00222     ArenaAllocatorType  m_allocator;
<a name="l00223"></a>00223 };
<a name="l00224"></a>00224 
<a name="l00225"></a>00225 
<a name="l00226"></a>00226 
<a name="l00227"></a>00227 XALAN_CPP_NAMESPACE_END
<a name="l00228"></a>00228 
<a name="l00229"></a>00229 
<a name="l00230"></a>00230 
<a name="l00231"></a>00231 <span class="preprocessor">#endif  // XALANDOMSTRINGREUSABLEALLOCATOR_INCLUDE_GUARD_12455133</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>
