<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>Xerces-C++: DOMMemoryManager.hpp Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Xerces-C++  <span id="projectnumber">3.1.4</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related 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 id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_86bd4715b1deb01fd8d544e33a69c82d.html">src</a></li><li class="navelem"><a class="el" href="dir_ca030fb04af990ce97db94f60b450a53.html">xercesc</a></li><li class="navelem"><a class="el" href="dir_585bed1767b2866990496998b0abe284.html">dom</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">DOMMemoryManager.hpp</div> </div> </div><!--header--> <div class="contents"> <a href="DOMMemoryManager_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * contributor license agreements. See the NOTICE file distributed with</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * this work for additional information regarding copyright ownership.</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * (the "License"); you may not use this file except in compliance with</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the License. You may obtain a copy of the License at</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * </span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * </span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * See the License for the specific language governing permissions and</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * limitations under the License.</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> */</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#if !defined(XERCESC_INCLUDE_GUARD_DOMMEMORYMANAGER_HPP)</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"></span><span class="preprocessor">#define XERCESC_INCLUDE_GUARD_DOMMEMORYMANAGER_HPP</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//------------------------------------------------------------------------------------</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// Includes</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">//------------------------------------------------------------------------------------</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <a class="code" href="XercesDefs_8hpp.html#a43d74fa53d868d978f3e97cbb78b194d">XERCES_CPP_NAMESPACE_BEGIN</a></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div> <div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html"> 32</a></span> <span class="keyword">class </span><a class="code" href="XercesDefs_8hpp.html#a40e97a4d60600cb8128a2eb5d6504e26">CDOM_EXPORT</a> <a class="code" href="classDOMMemoryManager.html">DOMMemoryManager</a></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> {</div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">protected</span>:</div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="comment">// Hidden constructors</span></div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#acd7d61638fa0f9e301de4a28501e8ec6"> 40</a></span> <span class="comment"></span> <a class="code" href="classDOMMemoryManager.html#acd7d61638fa0f9e301de4a28501e8ec6">DOMMemoryManager</a>() {};</div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="comment">// Unimplemented constructors and operators</span></div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"></span> <a class="code" href="classDOMMemoryManager.html">DOMMemoryManager</a>(<span class="keyword">const</span> <a class="code" href="classDOMMemoryManager.html">DOMMemoryManager</a> &);</div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="classDOMMemoryManager.html">DOMMemoryManager</a> & operator = (<span class="keyword">const</span> <a class="code" href="classDOMMemoryManager.html">DOMMemoryManager</a> &);</div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="comment">// All constructors are hidden, just the destructor is available</span></div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a8e84f1a479924e27311d03e818c1bdf5"> 64</a></span> <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="classDOMMemoryManager.html#a8e84f1a479924e27311d03e818c1bdf5">~DOMMemoryManager</a>() {};</div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="comment">// data types</span></div> <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1"> 70</a></span>  <span class="keyword">enum</span> <a class="code" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1">NodeObjectType</a> {</div> <div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1ad5cfa34c934527ff8f5f8a53459c923c"> 71</a></span>  ATTR_OBJECT = 0,</div> <div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1ab7fd2a25a694520341224ed6ff032d40"> 72</a></span>  ATTR_NS_OBJECT = 1,</div> <div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1a60b25457a0f1e8a4e40469eb30325e96"> 73</a></span>  CDATA_SECTION_OBJECT = 2,</div> <div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1add02e894262059c2bfc42396aa5d0f74"> 74</a></span>  COMMENT_OBJECT = 3,</div> <div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1ac4c27446f78089e0525197cbed77f3dc"> 75</a></span>  DOCUMENT_FRAGMENT_OBJECT = 4,</div> <div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1ab4b79e3ed0f67394cb8f1cbbc525d341"> 76</a></span>  DOCUMENT_TYPE_OBJECT = 5,</div> <div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1a0ccde53ba19e8e540efc8b15232e792c"> 77</a></span>  ELEMENT_OBJECT = 6,</div> <div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1af9d48f846414d0f23b1f4c094fccc958"> 78</a></span>  ELEMENT_NS_OBJECT = 7,</div> <div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1af80e82759d98a1fba66ed00c63871805"> 79</a></span>  ENTITY_OBJECT = 8,</div> <div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1aed024ba957c0d64c3040b98e2f110fa9"> 80</a></span>  ENTITY_REFERENCE_OBJECT = 9,</div> <div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1a941da709a628b2b292b7b82a09271b7e"> 81</a></span>  NOTATION_OBJECT = 10,</div> <div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1abfae514728836b3c1b41e7b9d3ce4609"> 82</a></span>  PROCESSING_INSTRUCTION_OBJECT = 11,</div> <div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1abb73daebe6be1b19430e0c7c92fe664c"> 83</a></span>  TEXT_OBJECT = 12</div> <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  };</div> <div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div> <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="comment">// Getter methods</span></div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> getMemoryAllocationBlockSize() <span class="keyword">const</span> = 0;</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="comment">// Setter methods</span></div> <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> setMemoryAllocationBlockSize(<a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> size) = 0;</div> <div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div> <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="comment">// Operations</span></div> <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span>* allocate(<a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> amount) = 0;</div> <div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div> <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span>* allocate(<a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> amount, <a class="code" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1">DOMMemoryManager::NodeObjectType</a> type) = 0;</div> <div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div> <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> release(<a class="code" href="classDOMNode.html">DOMNode</a>* <span class="keywordtype">object</span>, <a class="code" href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1">DOMMemoryManager::NodeObjectType</a> type) = 0;</div> <div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div> <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">virtual</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* cloneString(<span class="keyword">const</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *src) = 0;</div> <div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div> <div class="line"><a name="l00152"></a><span class="lineno"> 152</span> };</div> <div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div> <div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <a class="code" href="XercesDefs_8hpp.html#af03d5cb905763ef7a7bd22ab82718285">XERCES_CPP_NAMESPACE_END</a></div> <div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div> <div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor"></span></div> <div class="ttc" id="classDOMMemoryManager_html_a204df2f42dde53d6b6c30c3ca46e27b1"><div class="ttname"><a href="classDOMMemoryManager.html#a204df2f42dde53d6b6c30c3ca46e27b1">DOMMemoryManager::NodeObjectType</a></div><div class="ttdeci">NodeObjectType</div><div class="ttdef"><b>Definition:</b> DOMMemoryManager.hpp:70</div></div> <div class="ttc" id="classDOMMemoryManager_html"><div class="ttname"><a href="classDOMMemoryManager.html">DOMMemoryManager</a></div><div class="ttdoc">The DOMMemoryManager interface exposes the memory allocation-related functionalities of a DOMDocument...</div><div class="ttdef"><b>Definition:</b> DOMMemoryManager.hpp:32</div></div> <div class="ttc" id="XercesDefs_8hpp_html_a40e97a4d60600cb8128a2eb5d6504e26"><div class="ttname"><a href="XercesDefs_8hpp.html#a40e97a4d60600cb8128a2eb5d6504e26">CDOM_EXPORT</a></div><div class="ttdeci">#define CDOM_EXPORT</div><div class="ttdef"><b>Definition:</b> XercesDefs.hpp:166</div></div> <div class="ttc" id="Xerces__autoconf__config_8borland_8hpp_html_ac0f7e36996cd03eb43bcee10321f77cd"><div class="ttname"><a href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a></div><div class="ttdeci">SIZE_T XMLSize_t</div><div class="ttdef"><b>Definition:</b> Xerces_autoconf_config.borland.hpp:86</div></div> <div class="ttc" id="XercesDefs_8hpp_html_a43d74fa53d868d978f3e97cbb78b194d"><div class="ttname"><a href="XercesDefs_8hpp.html#a43d74fa53d868d978f3e97cbb78b194d">XERCES_CPP_NAMESPACE_BEGIN</a></div><div class="ttdeci">#define XERCES_CPP_NAMESPACE_BEGIN</div><div class="ttdef"><b>Definition:</b> XercesDefs.hpp:112</div></div> <div class="ttc" id="classDOMMemoryManager_html_acd7d61638fa0f9e301de4a28501e8ec6"><div class="ttname"><a href="classDOMMemoryManager.html#acd7d61638fa0f9e301de4a28501e8ec6">DOMMemoryManager::DOMMemoryManager</a></div><div class="ttdeci">DOMMemoryManager()</div><div class="ttdef"><b>Definition:</b> DOMMemoryManager.hpp:40</div></div> <div class="ttc" id="Xerces__autoconf__config_8borland_8hpp_html_a8cb107980a360c490ad7661f5d27cc0e"><div class="ttname"><a href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a></div><div class="ttdeci">wchar_t XMLCh</div><div class="ttdef"><b>Definition:</b> Xerces_autoconf_config.borland.hpp:92</div></div> <div class="ttc" id="XercesDefs_8hpp_html_af03d5cb905763ef7a7bd22ab82718285"><div class="ttname"><a href="XercesDefs_8hpp.html#af03d5cb905763ef7a7bd22ab82718285">XERCES_CPP_NAMESPACE_END</a></div><div class="ttdeci">#define XERCES_CPP_NAMESPACE_END</div><div class="ttdef"><b>Definition:</b> XercesDefs.hpp:113</div></div> <div class="ttc" id="classDOMNode_html"><div class="ttname"><a href="classDOMNode.html">DOMNode</a></div><div class="ttdoc">The DOMNode interface is the primary datatype for the entire Document Object Model. </div><div class="ttdef"><b>Definition:</b> DOMNode.hpp:139</div></div> <div class="ttc" id="classDOMMemoryManager_html_a8e84f1a479924e27311d03e818c1bdf5"><div class="ttname"><a href="classDOMMemoryManager.html#a8e84f1a479924e27311d03e818c1bdf5">DOMMemoryManager::~DOMMemoryManager</a></div><div class="ttdeci">virtual ~DOMMemoryManager()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> DOMMemoryManager.hpp:64</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>