<!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>XercesElementBridgeAllocator.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XercesElementBridgeAllocator_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(XERCESELEMENTBRIDGEALLOCATOR_INCLUDE_GUARD_12455133)</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define XERCESELEMENTBRIDGEALLOCATOR_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="preprocessor">#include &lt;<a class="code" href="XercesParserLiaisonDefinitions_8hpp.html">xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.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="ArenaAllocator_8hpp.html">xalanc/PlatformSupport/ArenaAllocator.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="XercesElementBridge_8hpp.html">xalanc/XercesParserLiaison/Deprecated/XercesElementBridge.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 <span class="comment"></span>
<a name="l00039"></a>00039 <span class="comment">/**</span>
<a name="l00040"></a>00040 <span class="comment"> * This class is deprecated.</span>
<a name="l00041"></a>00041 <span class="comment"> *</span>
<a name="l00042"></a>00042 <span class="comment"> * @deprecated This class is part of the deprecated Xerces DOM bridge.</span>
<a name="l00043"></a>00043 <span class="comment"> */</span>
<a name="l00044"></a><a class="code" href="classXercesElementBridgeAllocator.html">00044</a> <span class="keyword">class </span><a class="code" href="XercesParserLiaisonDefinitions_8hpp.html#a8784e34032853206369b8386f5a993d8">XALAN_XERCESPARSERLIAISON_EXPORT</a> <a class="code" href="classXercesElementBridgeAllocator.html" title="This class is deprecated.">XercesElementBridgeAllocator</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="classXercesElementBridgeAllocator.html#ae768a8e9a256b90a559aadb081149122">00048</a>     <span class="keyword">typedef</span> <a class="code" href="classXercesElementBridge.html" title="This class is deprecated.">XercesElementBridge</a>             <a class="code" href="classXercesElementBridge.html" title="This class is deprecated.">ObjectType</a>;
<a name="l00049"></a>00049 
<a name="l00050"></a>00050 
<a name="l00051"></a>00051 <span class="preprocessor">#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span>    <span class="keyword">typedef</span> <a class="code" href="classArenaBlock.html">ArenaBlock&lt;ObjectType&gt;</a>                  ArenaBlockType;
<a name="l00053"></a>00053 
<a name="l00054"></a>00054     <span class="keyword">typedef</span> <a class="code" href="classArenaAllocator.html">ArenaAllocator</a>&lt;<a class="code" href="classXercesElementBridge.html" title="This class is deprecated.">ObjectType</a>,
<a name="l00055"></a>00055                            ArenaBlockType&gt;          <a class="code" href="classArenaAllocator.html">ArenaAllocatorType</a>;
<a name="l00056"></a>00056 <span class="preprocessor">#else</span>
<a name="l00057"></a><a class="code" href="classXercesElementBridgeAllocator.html#a365c62f14082b9623bd0fc6b334fba9b">00057</a> <span class="preprocessor"></span>    <span class="keyword">typedef</span> <a class="code" href="classArenaAllocator.html">ArenaAllocator&lt;ObjectType&gt;</a>              <a class="code" href="classArenaAllocator.html">ArenaAllocatorType</a>;
<a name="l00058"></a>00058 <span class="preprocessor">#endif</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span>
<a name="l00060"></a><a class="code" href="classXercesElementBridgeAllocator.html#a19415568c2fc3e3b18adc38f98bc83d1">00060</a>     <span class="keyword">typedef</span> <a class="code" href="classArenaAllocator.html#a68eaf7d03e3a4a9f35c035481f0acd67">ArenaAllocatorType::size_type</a>   size_type;
<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 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="classXercesElementBridgeAllocator.html" title="This class is deprecated.">XercesElementBridgeAllocator</a>(<a class="code" href="classXercesElementBridgeAllocator.html#a19415568c2fc3e3b18adc38f98bc83d1">size_type</a>  theBlockCount);
<a name="l00068"></a>00068 
<a name="l00069"></a>00069     ~<a class="code" href="classXercesElementBridgeAllocator.html" title="This class is deprecated.">XercesElementBridgeAllocator</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 XercesElementBridge instance.</span>
<a name="l00073"></a>00073 <span class="comment">     * </span>
<a name="l00074"></a>00074 <span class="comment">     * @param theXercesElement The Xerces element node</span>
<a name="l00075"></a>00075 <span class="comment">     * @param theNavigator The navigator for this instance.</span>
<a name="l00076"></a>00076 <span class="comment">     *</span>
<a name="l00077"></a>00077 <span class="comment">     * @return pointer to the instance</span>
<a name="l00078"></a>00078 <span class="comment">     */</span>
<a name="l00079"></a>00079     <a class="code" href="classXercesElementBridge.html" title="This class is deprecated.">ObjectType</a>*
<a name="l00080"></a>00080     create(
<a name="l00081"></a>00081             <span class="keyword">const</span> <a class="code" href="XercesBridgeTypes_8hpp.html#a054288dbb99168c2c198d9b896cb4860">DOM_ElementType</a>&amp;          theXercesElement,
<a name="l00082"></a>00082             <span class="keyword">const</span> <a class="code" href="classXercesBridgeNavigator.html" title="This class is deprecated.">XercesBridgeNavigator</a>&amp;    theNavigator);
<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">     * Delete all objects from allocator.    </span>
<a name="l00086"></a>00086 <span class="comment">     */</span> 
<a name="l00087"></a>00087     <span class="keywordtype">void</span>
<a name="l00088"></a>00088     reset();
<a name="l00089"></a>00089 <span class="comment"></span>
<a name="l00090"></a>00090 <span class="comment">    /**</span>
<a name="l00091"></a>00091 <span class="comment">     * Get size of an ArenaBlock, that is, the number</span>
<a name="l00092"></a>00092 <span class="comment">     * of objects in each block.</span>
<a name="l00093"></a>00093 <span class="comment">     *</span>
<a name="l00094"></a>00094 <span class="comment">     * @return The size of the block</span>
<a name="l00095"></a>00095 <span class="comment">     */</span>
<a name="l00096"></a>00096     <a class="code" href="classXercesElementBridgeAllocator.html#a19415568c2fc3e3b18adc38f98bc83d1">size_type</a>
<a name="l00097"></a><a class="code" href="classXercesElementBridgeAllocator.html#a270bbc081fb75a7439dc70fe9355f320">00097</a>     getBlockCount()<span class="keyword"> const</span>
<a name="l00098"></a>00098 <span class="keyword">    </span>{
<a name="l00099"></a>00099         <span class="keywordflow">return</span> m_allocator.getBlockCount();
<a name="l00100"></a>00100     }
<a name="l00101"></a>00101 <span class="comment"></span>
<a name="l00102"></a>00102 <span class="comment">    /**</span>
<a name="l00103"></a>00103 <span class="comment">     * Get the number of ArenaBlocks currently allocated.</span>
<a name="l00104"></a>00104 <span class="comment">     *</span>
<a name="l00105"></a>00105 <span class="comment">     * @return The number of blocks.</span>
<a name="l00106"></a>00106 <span class="comment">     */</span>
<a name="l00107"></a>00107     <a class="code" href="XalanMap_8hpp.html#a39efc23c4f36ef6389e4a1fbe96c5f2e">size_type</a>
<a name="l00108"></a><a class="code" href="classXercesElementBridgeAllocator.html#a0ca641ec1e2690ab6a08f9697b23db27">00108</a>     getBlockSize()<span class="keyword"> const</span>
<a name="l00109"></a>00109 <span class="keyword">    </span>{
<a name="l00110"></a>00110         <span class="keywordflow">return</span> m_allocator.getBlockSize();
<a name="l00111"></a>00111     }
<a name="l00112"></a>00112 
<a name="l00113"></a>00113 
<a name="l00114"></a>00114 <span class="keyword">private</span>:
<a name="l00115"></a>00115 
<a name="l00116"></a>00116     <span class="comment">// Not implemented...</span>
<a name="l00117"></a>00117     <a class="code" href="classXercesElementBridgeAllocator.html" title="This class is deprecated.">XercesElementBridgeAllocator</a>(<span class="keyword">const</span> <a class="code" href="classXercesElementBridgeAllocator.html" title="This class is deprecated.">XercesElementBridgeAllocator</a>&amp;);
<a name="l00118"></a>00118 
<a name="l00119"></a>00119     <a class="code" href="classXercesElementBridgeAllocator.html" title="This class is deprecated.">XercesElementBridgeAllocator</a>&amp;
<a name="l00120"></a>00120     operator=(<span class="keyword">const</span> <a class="code" href="classXercesElementBridgeAllocator.html" title="This class is deprecated.">XercesElementBridgeAllocator</a>&amp;);
<a name="l00121"></a>00121 
<a name="l00122"></a>00122     <span class="comment">// Data members...</span>
<a name="l00123"></a>00123     ArenaAllocatorType  m_allocator;
<a name="l00124"></a>00124 };
<a name="l00125"></a>00125 
<a name="l00126"></a>00126 
<a name="l00127"></a>00127 
<a name="l00128"></a>00128 XALAN_CPP_NAMESPACE_END
<a name="l00129"></a>00129 
<a name="l00130"></a>00130 
<a name="l00131"></a>00131 
<a name="l00132"></a>00132 <span class="preprocessor">#endif  // XERCESELEMENTBRIDGEALLOCATOR_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>
