<!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>XalanElemCallTemplateAllocator.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XalanElemCallTemplateAllocator_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(XALANELEMCALLTEMPLATEALLOCATOR_INCLUDE_GUARD_12455133)</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define XALANELEMCALLTEMPLATEALLOCATOR_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="XSLTDefinitions_8hpp.html">xalanc/XSLT/XSLTDefinitions.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="ElemCallTemplate_8hpp.html">xalanc/XSLT/ElemCallTemplate.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="ArenaAllocator_8hpp.html">xalanc/PlatformSupport/ArenaAllocator.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="classXalanElemCallTemplateAllocator.html">00041</a> <span class="keyword">class </span><a class="code" href="XSLTDefinitions_8hpp.html#afe13e115e49db23eff1daccf7343935f">XALAN_XSLT_EXPORT</a> <a class="code" href="classXalanElemCallTemplateAllocator.html">XalanElemCallTemplateAllocator</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="classXalanElemCallTemplateAllocator.html#a6bda59da44c446d7e8d0d8dc9b2de332">00045</a>     <span class="keyword">typedef</span> <a class="code" href="classElemCallTemplate.html">ElemCallTemplate</a>                    <a class="code" href="classElemCallTemplate.html">data_type</a>;
<a name="l00046"></a>00046 
<a name="l00047"></a>00047 <span class="preprocessor">#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span>    <span class="keyword">typedef</span> <a class="code" href="classArenaBlock.html">ArenaBlock&lt;data_type&gt;</a>               ArenaBlockType;
<a name="l00049"></a>00049     <span class="keyword">typedef</span> <a class="code" href="classArenaAllocator.html">ArenaAllocator</a>&lt;<a class="code" href="classElemCallTemplate.html">data_type</a>,
<a name="l00050"></a>00050                            ArenaBlockType&gt;      <a class="code" href="classArenaAllocator.html">ArenaAllocatorType</a>;
<a name="l00051"></a>00051 <span class="preprocessor">#else</span>
<a name="l00052"></a><a class="code" href="classXalanElemCallTemplateAllocator.html#a2818d7f7dc7def0d860cba1a8cf86621">00052</a> <span class="preprocessor"></span>    <span class="keyword">typedef</span> <a class="code" href="classArenaAllocator.html">ArenaAllocator&lt;data_type&gt;</a>           <a class="code" href="classArenaAllocator.html">ArenaAllocatorType</a>;
<a name="l00053"></a>00053 <span class="preprocessor">#endif</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span>
<a name="l00055"></a><a class="code" href="classXalanElemCallTemplateAllocator.html#a7caab22e143117813ca06ba942dbdc8f">00055</a>     <span class="keyword">typedef</span> <a class="code" href="classArenaAllocator.html#a68eaf7d03e3a4a9f35c035481f0acd67">ArenaAllocatorType::size_type</a>       size_type;
<a name="l00056"></a>00056 <span class="comment"></span>
<a name="l00057"></a>00057 <span class="comment">    /**</span>
<a name="l00058"></a>00058 <span class="comment">     * Construct an instance that will allocate blocks of the specified size.</span>
<a name="l00059"></a>00059 <span class="comment">     *</span>
<a name="l00060"></a>00060 <span class="comment">     * @param theBlockSize The block size.</span>
<a name="l00061"></a>00061 <span class="comment">     */</span>
<a name="l00062"></a>00062     <a class="code" href="classXalanElemCallTemplateAllocator.html">XalanElemCallTemplateAllocator</a>(
<a name="l00063"></a>00063             MemoryManager&amp;  theManager,
<a name="l00064"></a>00064             <a class="code" href="classXalanElemCallTemplateAllocator.html#a7caab22e143117813ca06ba942dbdc8f">size_type</a>           theBlockCount);
<a name="l00065"></a>00065 
<a name="l00066"></a>00066     ~<a class="code" href="classXalanElemCallTemplateAllocator.html">XalanElemCallTemplateAllocator</a>();
<a name="l00067"></a>00067     <span class="comment"></span>
<a name="l00068"></a>00068 <span class="comment">    /**</span>
<a name="l00069"></a>00069 <span class="comment">     * Construct an instance</span>
<a name="l00070"></a>00070 <span class="comment">     * </span>
<a name="l00071"></a>00071 <span class="comment">     * @param constructionContext context for construction of object</span>
<a name="l00072"></a>00072 <span class="comment">     * @param stylesheetTree      stylesheet containing element</span>
<a name="l00073"></a>00073 <span class="comment">     * @param atts                list of attributes for element</span>
<a name="l00074"></a>00074 <span class="comment">     * @param lineNumber                line number in document</span>
<a name="l00075"></a>00075 <span class="comment">     * @param columnNumber          column number in document</span>
<a name="l00076"></a>00076 <span class="comment">     *</span>
<a name="l00077"></a>00077 <span class="comment">     * @return A pointer to the new instance.</span>
<a name="l00078"></a>00078 <span class="comment">     */</span>
<a name="l00079"></a>00079     <a class="code" href="classElemCallTemplate.html">data_type</a>*
<a name="l00080"></a>00080     create(
<a name="l00081"></a>00081             <a class="code" href="classStylesheetConstructionContext.html">StylesheetConstructionContext</a>&amp;  constructionContext,
<a name="l00082"></a>00082             <a class="code" href="classStylesheet.html" title="This class represents the base stylesheet or an &amp;quot;import&amp;quot; stylesheet.">Stylesheet</a>&amp;                     stylesheetTree,
<a name="l00083"></a>00083             <span class="keyword">const</span> <a class="code" href="XalanSourceTreeContentHandler_8hpp.html#ab5db67e0ad48b82d8a0476b99c377fdb">AttributeListType</a>&amp;        atts,
<a name="l00084"></a>00084             XalanFileLoc                    lineNumber,
<a name="l00085"></a>00085             XalanFileLoc                    columnNumber);
<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">     * Determine if an object is owned by the allocator...</span>
<a name="l00089"></a>00089 <span class="comment">     */</span>
<a name="l00090"></a>00090     <span class="keywordtype">bool</span>
<a name="l00091"></a><a class="code" href="classXalanElemCallTemplateAllocator.html#a11d8386cff2d62f2295f5cecefcbe611">00091</a>     ownsObject(<span class="keyword">const</span> <a class="code" href="classElemCallTemplate.html">data_type</a>*     theObject)
<a name="l00092"></a>00092     {
<a name="l00093"></a>00093         <span class="keywordflow">return</span> m_allocator.ownsObject(theObject);
<a name="l00094"></a>00094     }
<a name="l00095"></a>00095 <span class="comment"></span>
<a name="l00096"></a>00096 <span class="comment">    /**</span>
<a name="l00097"></a>00097 <span class="comment">     * Delete all objects from the allocator.    </span>
<a name="l00098"></a>00098 <span class="comment">     */</span> 
<a name="l00099"></a>00099     <span class="keywordtype">void</span>
<a name="l00100"></a><a class="code" href="classXalanElemCallTemplateAllocator.html#a4b7627f577473daa1b12c7df67b1e0d7">00100</a>     reset()
<a name="l00101"></a>00101     {
<a name="l00102"></a>00102         m_allocator.reset();
<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="classXalanElemCallTemplateAllocator.html#a86ca25d4e6aa0dedf803688187d19e69">00111</a>     getBlockCount()<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.getBlockCount();
<a name="l00114"></a>00114     }
<a name="l00115"></a>00115 <span class="comment"></span>
<a name="l00116"></a>00116 <span class="comment">    /**</span>
<a name="l00117"></a>00117 <span class="comment">     * Get size of an ArenaBlock, that is, the number</span>
<a name="l00118"></a>00118 <span class="comment">     * of objects in each block.</span>
<a name="l00119"></a>00119 <span class="comment">     *</span>
<a name="l00120"></a>00120 <span class="comment">     * @return The size of the block</span>
<a name="l00121"></a>00121 <span class="comment">     */</span>
<a name="l00122"></a>00122     <a class="code" href="XalanMap_8hpp.html#a39efc23c4f36ef6389e4a1fbe96c5f2e">size_type</a>
<a name="l00123"></a><a class="code" href="classXalanElemCallTemplateAllocator.html#aa60a2125bc29cd83a6e60ef0d4be2c8b">00123</a>     getBlockSize()<span class="keyword"> const</span>
<a name="l00124"></a>00124 <span class="keyword">    </span>{
<a name="l00125"></a>00125         <span class="keywordflow">return</span> m_allocator.getBlockSize();
<a name="l00126"></a>00126     }
<a name="l00127"></a>00127 
<a name="l00128"></a>00128 <span class="keyword">private</span>:
<a name="l00129"></a>00129 
<a name="l00130"></a>00130     <span class="comment">// Not implemented...</span>
<a name="l00131"></a>00131     <a class="code" href="classXalanElemCallTemplateAllocator.html">XalanElemCallTemplateAllocator</a>(<span class="keyword">const</span> <a class="code" href="classXalanElemCallTemplateAllocator.html">XalanElemCallTemplateAllocator</a>&amp;);
<a name="l00132"></a>00132 
<a name="l00133"></a>00133     <a class="code" href="classXalanElemCallTemplateAllocator.html">XalanElemCallTemplateAllocator</a>&amp;
<a name="l00134"></a>00134     operator=(<span class="keyword">const</span> <a class="code" href="classXalanElemCallTemplateAllocator.html">XalanElemCallTemplateAllocator</a>&amp;);
<a name="l00135"></a>00135 
<a name="l00136"></a>00136     <span class="comment">// Data members...</span>
<a name="l00137"></a>00137     ArenaAllocatorType  m_allocator;
<a name="l00138"></a>00138 };
<a name="l00139"></a>00139 
<a name="l00140"></a>00140 
<a name="l00141"></a>00141 
<a name="l00142"></a>00142 XALAN_CPP_NAMESPACE_END
<a name="l00143"></a>00143 
<a name="l00144"></a>00144 
<a name="l00145"></a>00145 
<a name="l00146"></a>00146 <span class="preprocessor">#endif  // XALANELEMCALLTEMPLATEALLOCATOR_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>
