<!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>XStringReferenceAllocator.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XStringReferenceAllocator_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(XSTRINGREFERENCEALLOCATOR_INCLUDE_GUARD_1357924680)</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define XSTRINGREFERENCEALLOCATOR_INCLUDE_GUARD_1357924680</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="XPathDefinitions_8hpp.html">xalanc/XPath/XPathDefinitions.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="XStringReference_8hpp.html">xalanc/XPath/XStringReference.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="ReusableArenaAllocator_8hpp.html">xalanc/PlatformSupport/ReusableArenaAllocator.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="classXStringReferenceAllocator.html">00041</a> <span class="keyword">class </span><a class="code" href="XPathDefinitions_8hpp.html#aa9c15f77ef5ab2dc518733b0fd07c141">XALAN_XPATH_EXPORT</a> <a class="code" href="classXStringReferenceAllocator.html">XStringReferenceAllocator</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="classXStringReferenceAllocator.html#a28b14443d0f693936c950fb99c0f85da">00045</a>     <span class="keyword">typedef</span> <a class="code" href="classXStringReference.html">XStringReference</a>    <a class="code" href="classXStringReference.html">string_type</a>;
<a name="l00046"></a>00046 
<a name="l00047"></a><a class="code" href="classXStringReferenceAllocator.html#a8ce1abea87251766184f04da90f30725">00047</a>     <span class="keyword">typedef</span> <a class="code" href="classReusableArenaAllocator.html">ReusableArenaAllocator&lt;string_type&gt;</a>     <a class="code" href="classReusableArenaAllocator.html">ArenaAllocatorType</a>;
<a name="l00048"></a><a class="code" href="classXStringReferenceAllocator.html#ad09771779f05c177bad1457d9e4b61e8">00048</a>     <span class="keyword">typedef</span> <a class="code" href="classReusableArenaAllocator.html#acf80af42a3e56e0f51dfc8b490944b8b">ArenaAllocatorType::size_type</a>           size_type;
<a name="l00049"></a>00049 <span class="comment"></span>
<a name="l00050"></a>00050 <span class="comment">    /**</span>
<a name="l00051"></a>00051 <span class="comment">     * Construct an instance that will allocate blocks of the specified size.</span>
<a name="l00052"></a>00052 <span class="comment">     *</span>
<a name="l00053"></a>00053 <span class="comment">     * @param theBlockSize The block size.</span>
<a name="l00054"></a>00054 <span class="comment">     */</span>
<a name="l00055"></a>00055     <a class="code" href="classXStringReferenceAllocator.html">XStringReferenceAllocator</a>(
<a name="l00056"></a>00056                 MemoryManager&amp;  theManager,
<a name="l00057"></a>00057                 <a class="code" href="classXStringReferenceAllocator.html#ad09771779f05c177bad1457d9e4b61e8">size_type</a>       theBlockCount);
<a name="l00058"></a>00058 
<a name="l00059"></a>00059     ~<a class="code" href="classXStringReferenceAllocator.html">XStringReferenceAllocator</a>();
<a name="l00060"></a>00060 <span class="comment"></span>
<a name="l00061"></a>00061 <span class="comment">    /**</span>
<a name="l00062"></a>00062 <span class="comment">     * Create an XStringReference object from a string.</span>
<a name="l00063"></a>00063 <span class="comment">     * </span>
<a name="l00064"></a>00064 <span class="comment">     * @param theString source string</span>
<a name="l00065"></a>00065 <span class="comment">     *</span>
<a name="l00066"></a>00066 <span class="comment">     * @return a pointer to string</span>
<a name="l00067"></a>00067 <span class="comment">     */</span>
<a name="l00068"></a>00068     <a class="code" href="classXStringReference.html">string_type</a>*
<a name="l00069"></a>00069     createString(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;  theString);
<a name="l00070"></a>00070 
<a name="l00071"></a>00071 <span class="comment"></span>
<a name="l00072"></a>00072 <span class="comment">    /**</span>
<a name="l00073"></a>00073 <span class="comment">     * Delete an XStringReference object from allocator.     </span>
<a name="l00074"></a>00074 <span class="comment">     */</span>
<a name="l00075"></a>00075     <span class="keywordtype">bool</span>
<a name="l00076"></a>00076     destroy(<a class="code" href="classXStringReference.html">string_type</a>*    theString);
<a name="l00077"></a>00077 <span class="comment"></span>
<a name="l00078"></a>00078 <span class="comment">    /**</span>
<a name="l00079"></a>00079 <span class="comment">     * Determine if an object is owned by the allocator...</span>
<a name="l00080"></a>00080 <span class="comment">     */</span>
<a name="l00081"></a>00081     <span class="keywordtype">bool</span>
<a name="l00082"></a><a class="code" href="classXStringReferenceAllocator.html#aa8eb2068dd7dcf1bed63e4891456f6b0">00082</a>     ownsObject(<span class="keyword">const</span> <a class="code" href="classXStringReference.html">string_type</a>*   theObject)
<a name="l00083"></a>00083     {
<a name="l00084"></a>00084         <span class="keywordflow">return</span> m_allocator.ownsObject(theObject);
<a name="l00085"></a>00085     }
<a name="l00086"></a>00086 <span class="comment"></span>
<a name="l00087"></a>00087 <span class="comment">    /**</span>
<a name="l00088"></a>00088 <span class="comment">     * Delete all XStringReference objects from allocator.   </span>
<a name="l00089"></a>00089 <span class="comment">     */</span>
<a name="l00090"></a>00090     <span class="keywordtype">void</span> 
<a name="l00091"></a>00091     reset();
<a name="l00092"></a>00092 <span class="comment"></span>
<a name="l00093"></a>00093 <span class="comment">    /**</span>
<a name="l00094"></a>00094 <span class="comment">     * Get size of an ArenaBlock, that is, the number</span>
<a name="l00095"></a>00095 <span class="comment">     * of objects in each block.</span>
<a name="l00096"></a>00096 <span class="comment">     *</span>
<a name="l00097"></a>00097 <span class="comment">     * @return The size of the block</span>
<a name="l00098"></a>00098 <span class="comment">     */</span>
<a name="l00099"></a>00099     <a class="code" href="XalanMap_8hpp.html#a39efc23c4f36ef6389e4a1fbe96c5f2e">size_type</a>
<a name="l00100"></a><a class="code" href="classXStringReferenceAllocator.html#aa00e26205a2f9cb39b2884774f6c8c00">00100</a>     getBlockCount()<span class="keyword"> const</span>
<a name="l00101"></a>00101 <span class="keyword">    </span>{
<a name="l00102"></a>00102         <span class="keywordflow">return</span> m_allocator.getBlockCount();
<a name="l00103"></a>00103     }
<a name="l00104"></a>00104 <span class="comment"></span>
<a name="l00105"></a>00105 <span class="comment">    /**</span>
<a name="l00106"></a>00106 <span class="comment">     * Get the number of ArenaBlocks currently allocated.</span>
<a name="l00107"></a>00107 <span class="comment">     *</span>
<a name="l00108"></a>00108 <span class="comment">     * @return The number of blocks.</span>
<a name="l00109"></a>00109 <span class="comment">     */</span>
<a name="l00110"></a>00110     <a class="code" href="XalanMap_8hpp.html#a39efc23c4f36ef6389e4a1fbe96c5f2e">size_type</a>
<a name="l00111"></a><a class="code" href="classXStringReferenceAllocator.html#ab574539c658ce316d10bdee810460e75">00111</a>     getBlockSize()<span class="keyword"> const</span>
<a name="l00112"></a>00112 <span class="keyword">    </span>{
<a name="l00113"></a>00113         <span class="keywordflow">return</span> m_allocator.getBlockSize();
<a name="l00114"></a>00114     }
<a name="l00115"></a>00115 
<a name="l00116"></a>00116 <span class="keyword">private</span>:
<a name="l00117"></a>00117 
<a name="l00118"></a>00118     <span class="comment">// Not implemented...</span>
<a name="l00119"></a>00119     <a class="code" href="classXStringReferenceAllocator.html">XStringReferenceAllocator</a>(<span class="keyword">const</span> <a class="code" href="classXStringReferenceAllocator.html">XStringReferenceAllocator</a>&amp;);
<a name="l00120"></a>00120 
<a name="l00121"></a>00121     <a class="code" href="classXStringReferenceAllocator.html">XStringReferenceAllocator</a>&amp;
<a name="l00122"></a>00122     operator=(<span class="keyword">const</span> <a class="code" href="classXStringReferenceAllocator.html">XStringReferenceAllocator</a>&amp;);
<a name="l00123"></a>00123 
<a name="l00124"></a>00124     <span class="comment">// Data members...</span>
<a name="l00125"></a>00125     ArenaAllocatorType  m_allocator;
<a name="l00126"></a>00126 };
<a name="l00127"></a>00127 
<a name="l00128"></a>00128 
<a name="l00129"></a>00129 
<a name="l00130"></a>00130 XALAN_CPP_NAMESPACE_END
<a name="l00131"></a>00131 
<a name="l00132"></a>00132 
<a name="l00133"></a>00133 
<a name="l00134"></a>00134 <span class="preprocessor">#endif  // XSTRINGREFERENCEALLOCATOR_INCLUDE_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>
