<!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++: PlatformUtils.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_8794e4cfc31d3a6b2e811a71375be4c4.html">util</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">PlatformUtils.hpp</div> </div> </div><!--header--> <div class="contents"> <a href="PlatformUtils_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="comment">/*</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * $Id: PlatformUtils.hpp 932887 2010-04-11 13:04:59Z borisk $</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> */</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#if !defined(XERCESC_INCLUDE_GUARD_PLATFORMUTILS_HPP)</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"></span><span class="preprocessor">#define XERCESC_INCLUDE_GUARD_PLATFORMUTILS_HPP</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <<a class="code" href="XercesDefs_8hpp.html">xercesc/util/XercesDefs.hpp</a>></span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <<a class="code" href="XMLException_8hpp.html">xercesc/util/XMLException.hpp</a>></span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <<a class="code" href="PanicHandler_8hpp.html">xercesc/util/PanicHandler.hpp</a>></span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <<a class="code" href="XMLFileMgr_8hpp.html">xercesc/util/XMLFileMgr.hpp</a>></span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <<a class="code" href="XMLMutexMgr_8hpp.html">xercesc/util/XMLMutexMgr.hpp</a>></span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <a class="code" href="XercesDefs_8hpp.html#a43d74fa53d868d978f3e97cbb78b194d">XERCES_CPP_NAMESPACE_BEGIN</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">class </span>XMLMsgLoader;</div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">class </span><a class="code" href="classXMLNetAccessor.html">XMLNetAccessor</a>;</div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">class </span><a class="code" href="classXMLTransService.html">XMLTransService</a>;</div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">class </span><a class="code" href="classMemoryManager.html">MemoryManager</a>;</div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">class </span>XMLMutex;</div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">//</span></div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// For internal use only</span></div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">//</span></div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// This class provides a simple abstract API via which lazily evaluated</span></div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">// data can be cleaned up.</span></div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">//</span></div> <div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classXMLDeleter.html"> 46</a></span> <span class="keyword">class </span><a class="code" href="XercesDefs_8hpp.html#a97a524372e218133a8eb0aca39b4bd21">XMLUTIL_EXPORT</a> <a class="code" href="classXMLDeleter.html">XMLDeleter</a></div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span> {</div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">public</span> :</div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keyword">virtual</span> ~<a class="code" href="classXMLDeleter.html">XMLDeleter</a>();</div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">protected</span> :</div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classXMLDeleter.html">XMLDeleter</a>();</div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">private</span> :</div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="classXMLDeleter.html">XMLDeleter</a>(<span class="keyword">const</span> <a class="code" href="classXMLDeleter.html">XMLDeleter</a>&);</div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classXMLDeleter.html">XMLDeleter</a>& operator=(<span class="keyword">const</span> <a class="code" href="classXMLDeleter.html">XMLDeleter</a>&);</div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span> };</div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div> <div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classXMLPlatformUtils.html"> 68</a></span> <span class="keyword">class </span><a class="code" href="XercesDefs_8hpp.html#a97a524372e218133a8eb0aca39b4bd21">XMLUTIL_EXPORT</a> <a class="code" href="classXMLPlatformUtils.html">XMLPlatformUtils</a></div> <div class="line"><a name="l00069"></a><span class="lineno"> 69</span> {</div> <div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">public</span> :</div> <div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div> <div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classXMLPlatformUtils.html#a6bbba118a3327b2e7c1952bf04de2787"> 87</a></span>  <span class="keyword">static</span> <a class="code" href="classXMLNetAccessor.html">XMLNetAccessor</a>* <a class="code" href="classXMLPlatformUtils.html#a6bbba118a3327b2e7c1952bf04de2787">fgNetAccessor</a>;</div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div> <div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classXMLPlatformUtils.html#abb0ad83db922cbf891a70319b2e6702b"> 99</a></span>  <span class="keyword">static</span> <a class="code" href="classXMLTransService.html">XMLTransService</a>* <a class="code" href="classXMLPlatformUtils.html#abb0ad83db922cbf891a70319b2e6702b">fgTransService</a>;</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor">#ifdef OS390</span></div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"></span> <span class="keyword">static</span> <a class="code" href="classXMLTransService.html">XMLTransService</a>* fgTransService2;</div> <div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classXMLPlatformUtils.html#aac6484e7073d5fb515ea791ee873b5bd"> 108</a></span>  <span class="keyword">static</span> <a class="code" href="classPanicHandler.html">PanicHandler</a>* <a class="code" href="classXMLPlatformUtils.html#aac6484e7073d5fb515ea791ee873b5bd">fgUserPanicHandler</a>;</div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div> <div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classXMLPlatformUtils.html#adb96471b53887380718f80e54934925f"> 114</a></span>  <span class="keyword">static</span> <a class="code" href="classPanicHandler.html">PanicHandler</a>* <a class="code" href="classXMLPlatformUtils.html#adb96471b53887380718f80e54934925f">fgDefaultPanicHandler</a>;</div> <div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div> <div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252"> 121</a></span>  <span class="keyword">static</span> <a class="code" href="classMemoryManager.html">MemoryManager</a>* <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">fgMemoryManager</a>;</div> <div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div> <div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classXMLPlatformUtils.html#a14ce4194a811184a9e1e17ca2adeee9d"> 123</a></span>  <span class="keyword">static</span> <a class="code" href="classXMLFileMgr.html">XMLFileMgr</a>* <a class="code" href="classXMLPlatformUtils.html#a14ce4194a811184a9e1e17ca2adeee9d">fgFileMgr</a>;</div> <div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classXMLPlatformUtils.html#a28f0c7e21b0ccf29bb38c90a544ebc8f"> 124</a></span>  <span class="keyword">static</span> <a class="code" href="classXMLMutexMgr.html">XMLMutexMgr</a>* <a class="code" href="classXMLPlatformUtils.html#a28f0c7e21b0ccf29bb38c90a544ebc8f">fgMutexMgr</a>;</div> <div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div> <div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classXMLPlatformUtils.html#aaa3859ca77bec01d7c5c4da4632ab761"> 132</a></span>  <span class="keyword">static</span> XMLMutex* <a class="code" href="classXMLPlatformUtils.html#aaa3859ca77bec01d7c5c4da4632ab761">fgAtomicMutex</a>;</div> <div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div> <div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classXMLPlatformUtils.html#a5d963ab2acfd08abcfcaab3a7e5819d2"> 134</a></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classXMLPlatformUtils.html#a5d963ab2acfd08abcfcaab3a7e5819d2">fgXMLChBigEndian</a>;</div> <div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classXMLPlatformUtils.html#a41b2fc50c55ad21172a8e649d441aec0"> 135</a></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classXMLPlatformUtils.html#a41b2fc50c55ad21172a8e649d441aec0">fgSSE2ok</a>;</div> <div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div> <div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div> <div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div> <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> Initialize(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> locale = <a class="code" href="classXMLUni.html#a65fb61efef197f1387836a339477ab5e">XMLUni::fgXercescDefaultLocale</a></div> <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> nlsHome = 0</div> <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  , <a class="code" href="classPanicHandler.html">PanicHandler</a>* <span class="keyword">const</span> panicHandler = 0</div> <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> memoryManager = 0);</div> <div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div> <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> Initialize(<a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> initialDOMHeapAllocSize</div> <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  , <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> maxDOMHeapAllocSize</div> <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  , <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> maxDOMSubAllocationSize</div> <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> locale = <a class="code" href="classXMLUni.html#a65fb61efef197f1387836a339477ab5e">XMLUni::fgXercescDefaultLocale</a></div> <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> nlsHome = 0</div> <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  , <a class="code" href="classPanicHandler.html">PanicHandler</a>* <span class="keyword">const</span> panicHandler = 0</div> <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> memoryManager = 0);</div> <div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div> <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> Terminate();</div> <div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div> <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> panic</div> <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  (</div> <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keyword">const</span> <a class="code" href="classPanicHandler.html#aace4c4f408d68f168e1c2537e0ba5be2">PanicHandler::PanicReasons</a> reason</div> <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  );</div> <div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div> <div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div> <div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div> <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keyword">static</span> <a class="code" href="classXMLFileMgr.html">XMLFileMgr</a>* makeFileMgr(<a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager);</div> <div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div> <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keyword">static</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a7647261a546ac47bda863a51d24ad898">XMLFilePos</a> curFilePos(<a class="code" href="XMLFileMgr_8hpp.html#a6738b6a1cc86fbf4c231eac94e357446">FileHandle</a> theFile</div> <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div> <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> closeFile(<a class="code" href="XMLFileMgr_8hpp.html#a6738b6a1cc86fbf4c231eac94e357446">FileHandle</a> theFile</div> <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div> <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keyword">static</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a7647261a546ac47bda863a51d24ad898">XMLFilePos</a> fileSize(<a class="code" href="XMLFileMgr_8hpp.html#a6738b6a1cc86fbf4c231eac94e357446">FileHandle</a> theFile</div> <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div> <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keyword">static</span> <a class="code" href="XMLFileMgr_8hpp.html#a6738b6a1cc86fbf4c231eac94e357446">FileHandle</a> openFile(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fileName</div> <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div> <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keyword">static</span> <a class="code" href="XMLFileMgr_8hpp.html#a6738b6a1cc86fbf4c231eac94e357446">FileHandle</a> openFile(<span class="keyword">const</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* <span class="keyword">const</span> fileName</div> <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div> <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keyword">static</span> <a class="code" href="XMLFileMgr_8hpp.html#a6738b6a1cc86fbf4c231eac94e357446">FileHandle</a> openFileToWrite(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fileName</div> <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div> <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keyword">static</span> <a class="code" href="XMLFileMgr_8hpp.html#a6738b6a1cc86fbf4c231eac94e357446">FileHandle</a> openFileToWrite(<span class="keyword">const</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* <span class="keyword">const</span> fileName</div> <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div> <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keyword">static</span> <a class="code" href="XMLFileMgr_8hpp.html#a6738b6a1cc86fbf4c231eac94e357446">FileHandle</a> openStdInHandle(<a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div> <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keyword">static</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> readFileBuffer</div> <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  (</div> <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <a class="code" href="XMLFileMgr_8hpp.html#a6738b6a1cc86fbf4c231eac94e357446">FileHandle</a> theFile</div> <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  , <span class="keyword">const</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> toRead</div> <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  , <a class="code" href="XercesDefs_8hpp.html#a7470c7a32c59355685ebcd878a33f126">XMLByte</a>* <span class="keyword">const</span> toFill</div> <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></div> <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  );</div> <div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div> <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> writeBufferToFile</div> <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  (</div> <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <a class="code" href="XMLFileMgr_8hpp.html#a6738b6a1cc86fbf4c231eac94e357446">FileHandle</a> <span class="keyword">const</span> theFile</div> <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  , <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> toWrite</div> <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  , <span class="keyword">const</span> <a class="code" href="XercesDefs_8hpp.html#a7470c7a32c59355685ebcd878a33f126">XMLByte</a>* <span class="keyword">const</span> toFlush</div> <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></div> <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  );</div> <div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div> <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> resetFile(<a class="code" href="XMLFileMgr_8hpp.html#a6738b6a1cc86fbf4c231eac94e357446">FileHandle</a> theFile</div> <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div> <div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div> <div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div> <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keyword">static</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* getFullPath</div> <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  (</div> <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keyword">const</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* <span class="keyword">const</span> srcPath</div> <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></div> <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  );</div> <div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div> <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="keyword">static</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* getCurrentDirectory</div> <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  (</div> <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></div> <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  );</div> <div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div> <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> isAnySlash(<a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> c);</div> <div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div> <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> removeDotSlash(<a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* <span class="keyword">const</span> srcPath</div> <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div> <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> removeDotDotSlash(<a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* <span class="keyword">const</span> srcPath</div> <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div> <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> isRelative(<span class="keyword">const</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* <span class="keyword">const</span> toCheck</div> <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></div> <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  );</div> <div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div> <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="keyword">static</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* weavePaths</div> <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  (</div> <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <span class="keyword">const</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* <span class="keyword">const</span> basePath</div> <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  , <span class="keyword">const</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* <span class="keyword">const</span> relativePath</div> <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></div> <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  );</div> <div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div> <div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div> <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> getCurrentMillis();</div> <div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div> <div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div> <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <span class="keyword">static</span> <a class="code" href="classXMLMutexMgr.html">XMLMutexMgr</a>* makeMutexMgr(<a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager);</div> <div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div> <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> closeMutex(<span class="keywordtype">void</span>* <span class="keyword">const</span> mtxHandle, <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div> <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> lockMutex(<span class="keywordtype">void</span>* <span class="keyword">const</span> mtxHandle);</div> <div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div> <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keyword">static</span> <span class="keywordtype">void</span>* makeMutex(<a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div> <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> unlockMutex(<span class="keywordtype">void</span>* <span class="keyword">const</span> mtxHandle);</div> <div class="line"><a name="l00639"></a><span class="lineno"> 639</span> </div> <div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div> <div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div> <div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div> <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <span class="keyword">static</span> XMLMsgLoader* loadMsgSet(<span class="keyword">const</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* <span class="keyword">const</span> msgDomain);</div> <div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div> <div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div> <div class="line"><a name="l00657"></a><span class="lineno"> 657</span> </div> <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> recognizeNEL(<span class="keywordtype">bool</span> state</div> <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>);</div> <div class="line"><a name="l00673"></a><span class="lineno"> 673</span> </div> <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> isNELRecognized();</div> <div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div> <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> strictIANAEncoding(<span class="keyword">const</span> <span class="keywordtype">bool</span> state);</div> <div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div> <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> isStrictIANAEncoding();</div> <div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div> <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> alignPointerForNewBlockAllocation(<a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> ptrSize);</div> <div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div> <div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="keyword">private</span> :</div> <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  <span class="comment">// Unimplemented constructors and operators</span></div> <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="comment">// -----------------------------------------------------------------------</span></div> <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <a class="code" href="classXMLPlatformUtils.html">XMLPlatformUtils</a>();</div> <div class="line"><a name="l00714"></a><span class="lineno"> 714</span> </div> <div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div> <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <span class="keyword">static</span> XMLMsgLoader* loadAMsgSet(<span class="keyword">const</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* <span class="keyword">const</span> msgDomain);</div> <div class="line"><a name="l00724"></a><span class="lineno"> 724</span> </div> <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="keyword">static</span> <a class="code" href="classXMLNetAccessor.html">XMLNetAccessor</a>* makeNetAccessor();</div> <div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div> <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <span class="keyword">static</span> <a class="code" href="classXMLTransService.html">XMLTransService</a>* makeTransService();</div> <div class="line"><a name="l00747"></a><span class="lineno"> 747</span> </div> <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <span class="keyword">static</span> <span class="keywordtype">int</span> searchSlashDotDotSlash(<a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a>* <span class="keyword">const</span> srcPath);</div> <div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div> <div class="line"><a name="l00758"></a><span class="lineno"> 758</span> </div> <div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div> <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> fgMemMgrAdopted;</div> <div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div> <div class="line"><a name="l00771"></a><span class="lineno"> 771</span> };</div> <div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div> <div class="line"><a name="l00773"></a><span class="lineno"> 773</span> </div> <div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <a class="code" href="XMLException_8hpp.html#a57c0a8cea5d525b6091454d6a387e050">MakeXMLException</a>(XMLPlatformUtilsException, <a class="code" href="XercesDefs_8hpp.html#a97a524372e218133a8eb0aca39b4bd21">XMLUTIL_EXPORT</a>)</div> <div class="line"><a name="l00775"></a><span class="lineno"> 775</span> </div> <div class="line"><a name="l00776"></a><span class="lineno"> 776</span> </div> <div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="comment">// ---------------------------------------------------------------------------</span></div> <div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="comment">// XMLPlatformUtils: alignPointerForNewBlockAllocation</span></div> <div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="comment">// ---------------------------------------------------------------------------</span></div> <div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="comment">// Calculate alignment required by platform for a new</span></div> <div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="comment">// block allocation. We use this in our custom allocators</span></div> <div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="comment">// to ensure that returned blocks are properly aligned.</span></div> <div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="comment">// Note that, although this will take a pointer and return the position</span></div> <div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="comment">// at which it should be placed for correct alignment, in our code</span></div> <div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="comment">// we normally use XMLSize_t parameters to discover what the alignment</span></div> <div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="comment">// of header blocks should be. Thus, if this is to be</span></div> <div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="comment">// used for the former purpose, to make compilers happy</span></div> <div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="comment">// some casting will be necessary - neilg.</span></div> <div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="comment">//</span></div> <div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="comment">// Note: XML_PLATFORM_NEW_BLOCK_ALIGNMENT may be specified on a</span></div> <div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="comment">// per-architecture basis to dictate the alignment requirements</span></div> <div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="comment">// of the architecture. In the absense of this specification,</span></div> <div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="comment">// this routine guesses at the correct alignment value.</span></div> <div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="comment">//</span></div> <div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="comment">// A XML_PLATFORM_NEW_BLOCK_ALIGNMENT value of zero is illegal.</span></div> <div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="comment">// If a platform requires absolutely no alignment, a value</span></div> <div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="comment">// of 1 should be specified ("align pointers on 1 byte boundaries").</span></div> <div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="comment">//</span></div> <div class="line"><a name="l00799"></a><span class="lineno"> 799</span> inline <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a></div> <div class="line"><a name="l00800"></a><span class="lineno"><a class="line" href="classXMLPlatformUtils.html#ae692e83677b7480f1f169450b8634e70"> 800</a></span> <a class="code" href="classXMLPlatformUtils.html">XMLPlatformUtils</a>::alignPointerForNewBlockAllocation(<a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> ptrSize)</div> <div class="line"><a name="l00801"></a><span class="lineno"> 801</span> {</div> <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="comment">// Macro XML_PLATFORM_NEW_BLOCK_ALIGNMENT may be defined</span></div> <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="comment">// as needed to dictate alignment requirements on a</span></div> <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <span class="comment">// per-architecture basis. In the absense of that we</span></div> <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <span class="comment">// take an educated guess.</span></div> <div class="line"><a name="l00806"></a><span class="lineno"> 806</span> <span class="preprocessor">#ifdef XML_PLATFORM_NEW_BLOCK_ALIGNMENT</span></div> <div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="preprocessor"></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> alignment = XML_PLATFORM_NEW_BLOCK_ALIGNMENT;</div> <div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="preprocessor">#else</span></div> <div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <span class="preprocessor"></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> alignment = (<span class="keyword">sizeof</span>(<span class="keywordtype">void</span>*) >= <span class="keyword">sizeof</span>(<span class="keywordtype">double</span>)) ? <span class="keyword">sizeof</span>(<span class="keywordtype">void</span>*) : <span class="keyword">sizeof</span>(double);</div> <div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <span class="comment">// Calculate current alignment of pointer</span></div> <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <a class="code" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> current = ptrSize % alignment;</div> <div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div> <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="comment">// Adjust pointer alignment as needed</span></div> <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="keywordflow">return</span> (current == 0)</div> <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  ? ptrSize</div> <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  : (ptrSize + alignment - current);</div> <div class="line"><a name="l00819"></a><span class="lineno"> 819</span> }</div> <div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div> <div class="line"><a name="l00821"></a><span class="lineno"> 821</span> </div> <div class="line"><a name="l00822"></a><span class="lineno"> 822</span> </div> <div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="comment">// ---------------------------------------------------------------------------</span></div> <div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="comment">// XMLDeleter: Public Destructor</span></div> <div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="comment">// ---------------------------------------------------------------------------</span></div> <div class="line"><a name="l00826"></a><span class="lineno"><a class="line" href="classXMLDeleter.html#a23f136b5ae797442100a8dde98c3bc1b"> 826</a></span> <span class="keyword">inline</span> <a class="code" href="classXMLDeleter.html#a23f136b5ae797442100a8dde98c3bc1b">XMLDeleter::~XMLDeleter</a>()</div> <div class="line"><a name="l00827"></a><span class="lineno"> 827</span> {</div> <div class="line"><a name="l00828"></a><span class="lineno"> 828</span> }</div> <div class="line"><a name="l00829"></a><span class="lineno"> 829</span> </div> <div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="comment">// ---------------------------------------------------------------------------</span></div> <div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="comment">// XMLDeleter: Hidden constructors and operators</span></div> <div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="comment">// ---------------------------------------------------------------------------</span></div> <div class="line"><a name="l00833"></a><span class="lineno"><a class="line" href="classXMLDeleter.html#a34c158bd3663228d553e302bece2fb4b"> 833</a></span> <span class="keyword">inline</span> <a class="code" href="classXMLDeleter.html#a34c158bd3663228d553e302bece2fb4b">XMLDeleter::XMLDeleter</a>()</div> <div class="line"><a name="l00834"></a><span class="lineno"> 834</span> {</div> <div class="line"><a name="l00835"></a><span class="lineno"> 835</span> }</div> <div class="line"><a name="l00836"></a><span class="lineno"> 836</span> </div> <div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <a class="code" href="XercesDefs_8hpp.html#af03d5cb905763ef7a7bd22ab82718285">XERCES_CPP_NAMESPACE_END</a></div> <div class="line"><a name="l00838"></a><span class="lineno"> 838</span> </div> <div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="preprocessor">#endif</span></div> <div class="ttc" id="classXMLPlatformUtils_html_a6bbba118a3327b2e7c1952bf04de2787"><div class="ttname"><a href="classXMLPlatformUtils.html#a6bbba118a3327b2e7c1952bf04de2787">XMLPlatformUtils::fgNetAccessor</a></div><div class="ttdeci">static XMLNetAccessor * fgNetAccessor</div><div class="ttdoc">The network accessor. </div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:87</div></div> <div class="ttc" id="PanicHandler_8hpp_html"><div class="ttname"><a href="PanicHandler_8hpp.html">PanicHandler.hpp</a></div></div> <div class="ttc" id="classXMLUni_html_a65fb61efef197f1387836a339477ab5e"><div class="ttname"><a href="classXMLUni.html#a65fb61efef197f1387836a339477ab5e">XMLUni::fgXercescDefaultLocale</a></div><div class="ttdeci">static const char fgXercescDefaultLocale[]</div><div class="ttdef"><b>Definition:</b> XMLUni.hpp:297</div></div> <div class="ttc" id="Xerces__autoconf__config_8borland_8hpp_html_a7647261a546ac47bda863a51d24ad898"><div class="ttname"><a href="Xerces__autoconf__config_8borland_8hpp.html#a7647261a546ac47bda863a51d24ad898">XMLFilePos</a></div><div class="ttdeci">XMLUInt64 XMLFilePos</div><div class="ttdef"><b>Definition:</b> Xerces_autoconf_config.borland.hpp:111</div></div> <div class="ttc" id="classXMLMutexMgr_html"><div class="ttname"><a href="classXMLMutexMgr.html">XMLMutexMgr</a></div><div class="ttdef"><b>Definition:</b> XMLMutexMgr.hpp:33</div></div> <div class="ttc" id="classXMLPlatformUtils_html_a41b2fc50c55ad21172a8e649d441aec0"><div class="ttname"><a href="classXMLPlatformUtils.html#a41b2fc50c55ad21172a8e649d441aec0">XMLPlatformUtils::fgSSE2ok</a></div><div class="ttdeci">static bool fgSSE2ok</div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:135</div></div> <div class="ttc" id="classXMLPlatformUtils_html_a97eff0d9fff3567bea3acd3ca4d95252"><div class="ttname"><a href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></div><div class="ttdeci">static MemoryManager * fgMemoryManager</div><div class="ttdoc">The configurable memory manager. </div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:121</div></div> <div class="ttc" id="XMLMutexMgr_8hpp_html"><div class="ttname"><a href="XMLMutexMgr_8hpp.html">XMLMutexMgr.hpp</a></div></div> <div class="ttc" id="XercesDefs_8hpp_html"><div class="ttname"><a href="XercesDefs_8hpp.html">XercesDefs.hpp</a></div></div> <div class="ttc" id="classPanicHandler_html_aace4c4f408d68f168e1c2537e0ba5be2"><div class="ttname"><a href="classPanicHandler.html#aace4c4f408d68f168e1c2537e0ba5be2">PanicHandler::PanicReasons</a></div><div class="ttdeci">PanicReasons</div><div class="ttdef"><b>Definition:</b> PanicHandler.hpp:50</div></div> <div class="ttc" id="classXMLPlatformUtils_html_aaa3859ca77bec01d7c5c4da4632ab761"><div class="ttname"><a href="classXMLPlatformUtils.html#aaa3859ca77bec01d7c5c4da4632ab761">XMLPlatformUtils::fgAtomicMutex</a></div><div class="ttdeci">static XMLMutex * fgAtomicMutex</div><div class="ttdoc">Global mutex for fast or infrequent operations. </div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:132</div></div> <div class="ttc" id="XMLException_8hpp_html_a57c0a8cea5d525b6091454d6a387e050"><div class="ttname"><a href="XMLException_8hpp.html#a57c0a8cea5d525b6091454d6a387e050">MakeXMLException</a></div><div class="ttdeci">#define MakeXMLException(theType, expKeyword)</div><div class="ttdef"><b>Definition:</b> XMLException.hpp:178</div></div> <div class="ttc" id="classXMLNetAccessor_html"><div class="ttname"><a href="classXMLNetAccessor.html">XMLNetAccessor</a></div><div class="ttdef"><b>Definition:</b> XMLNetAccessor.hpp:95</div></div> <div class="ttc" id="XMLException_8hpp_html"><div class="ttname"><a href="XMLException_8hpp.html">XMLException.hpp</a></div></div> <div class="ttc" id="classXMLPlatformUtils_html_a28f0c7e21b0ccf29bb38c90a544ebc8f"><div class="ttname"><a href="classXMLPlatformUtils.html#a28f0c7e21b0ccf29bb38c90a544ebc8f">XMLPlatformUtils::fgMutexMgr</a></div><div class="ttdeci">static XMLMutexMgr * fgMutexMgr</div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:124</div></div> <div class="ttc" id="classXMLPlatformUtils_html_aac6484e7073d5fb515ea791ee873b5bd"><div class="ttname"><a href="classXMLPlatformUtils.html#aac6484e7073d5fb515ea791ee873b5bd">XMLPlatformUtils::fgUserPanicHandler</a></div><div class="ttdeci">static PanicHandler * fgUserPanicHandler</div><div class="ttdoc">The Panic Handler. </div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:108</div></div> <div class="ttc" id="classMemoryManager_html"><div class="ttname"><a href="classMemoryManager.html">MemoryManager</a></div><div class="ttdoc">Configurable memory manager. </div><div class="ttdef"><b>Definition:</b> MemoryManager.hpp:39</div></div> <div class="ttc" id="classPanicHandler_html"><div class="ttname"><a href="classPanicHandler.html">PanicHandler</a></div><div class="ttdoc">Receive notification of panic. </div><div class="ttdef"><b>Definition:</b> PanicHandler.hpp:44</div></div> <div class="ttc" id="classXMLPlatformUtils_html_adb96471b53887380718f80e54934925f"><div class="ttname"><a href="classXMLPlatformUtils.html#adb96471b53887380718f80e54934925f">XMLPlatformUtils::fgDefaultPanicHandler</a></div><div class="ttdeci">static PanicHandler * fgDefaultPanicHandler</div><div class="ttdoc">The Panic Handler. </div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:114</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="classXMLPlatformUtils_html"><div class="ttname"><a href="classXMLPlatformUtils.html">XMLPlatformUtils</a></div><div class="ttdoc">Utilities that must be implemented in a platform-specific way. </div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:68</div></div> <div class="ttc" id="classXMLPlatformUtils_html_a5d963ab2acfd08abcfcaab3a7e5819d2"><div class="ttname"><a href="classXMLPlatformUtils.html#a5d963ab2acfd08abcfcaab3a7e5819d2">XMLPlatformUtils::fgXMLChBigEndian</a></div><div class="ttdeci">static bool fgXMLChBigEndian</div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:134</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="classXMLTransService_html"><div class="ttname"><a href="classXMLTransService.html">XMLTransService</a></div><div class="ttdef"><b>Definition:</b> TransService.hpp:51</div></div> <div class="ttc" id="classXMLDeleter_html"><div class="ttname"><a href="classXMLDeleter.html">XMLDeleter</a></div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:46</div></div> <div class="ttc" id="XMLFileMgr_8hpp_html_a6738b6a1cc86fbf4c231eac94e357446"><div class="ttname"><a href="XMLFileMgr_8hpp.html#a6738b6a1cc86fbf4c231eac94e357446">FileHandle</a></div><div class="ttdeci">XERCES_CPP_NAMESPACE_BEGIN typedef void * FileHandle</div><div class="ttdef"><b>Definition:</b> XMLFileMgr.hpp:30</div></div> <div class="ttc" id="XercesDefs_8hpp_html_a7470c7a32c59355685ebcd878a33f126"><div class="ttname"><a href="XercesDefs_8hpp.html#a7470c7a32c59355685ebcd878a33f126">XMLByte</a></div><div class="ttdeci">unsigned char XMLByte</div><div class="ttdef"><b>Definition:</b> XercesDefs.hpp:65</div></div> <div class="ttc" id="classXMLFileMgr_html"><div class="ttname"><a href="classXMLFileMgr.html">XMLFileMgr</a></div><div class="ttdef"><b>Definition:</b> XMLFileMgr.hpp:34</div></div> <div class="ttc" id="XercesDefs_8hpp_html_a97a524372e218133a8eb0aca39b4bd21"><div class="ttname"><a href="XercesDefs_8hpp.html#a97a524372e218133a8eb0aca39b4bd21">XMLUTIL_EXPORT</a></div><div class="ttdeci">#define XMLUTIL_EXPORT</div><div class="ttdef"><b>Definition:</b> XercesDefs.hpp:162</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="classXMLPlatformUtils_html_abb0ad83db922cbf891a70319b2e6702b"><div class="ttname"><a href="classXMLPlatformUtils.html#abb0ad83db922cbf891a70319b2e6702b">XMLPlatformUtils::fgTransService</a></div><div class="ttdeci">static XMLTransService * fgTransService</div><div class="ttdoc">The transcoding service. </div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:99</div></div> <div class="ttc" id="classXMLDeleter_html_a23f136b5ae797442100a8dde98c3bc1b"><div class="ttname"><a href="classXMLDeleter.html#a23f136b5ae797442100a8dde98c3bc1b">XMLDeleter::~XMLDeleter</a></div><div class="ttdeci">virtual ~XMLDeleter()</div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:826</div></div> <div class="ttc" id="XMLFileMgr_8hpp_html"><div class="ttname"><a href="XMLFileMgr_8hpp.html">XMLFileMgr.hpp</a></div></div> <div class="ttc" id="classXMLPlatformUtils_html_a14ce4194a811184a9e1e17ca2adeee9d"><div class="ttname"><a href="classXMLPlatformUtils.html#a14ce4194a811184a9e1e17ca2adeee9d">XMLPlatformUtils::fgFileMgr</a></div><div class="ttdeci">static XMLFileMgr * fgFileMgr</div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:123</div></div> <div class="ttc" id="classXMLDeleter_html_a34c158bd3663228d553e302bece2fb4b"><div class="ttname"><a href="classXMLDeleter.html#a34c158bd3663228d553e302bece2fb4b">XMLDeleter::XMLDeleter</a></div><div class="ttdeci">XMLDeleter()</div><div class="ttdef"><b>Definition:</b> PlatformUtils.hpp:833</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>