blob: 14b96a3c8170c6336e606177e6434555d25b4e89 [file] [log] [blame] [edit]
<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>Xerces-C++: XMLString.hpp Source File</TITLE><link href="XercesApi.css" rel="stylesheet" type="text/css"></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="../resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="../resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="../resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="../graphics/api-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="../resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','../resources/button-xml-hi.gif','../resources/button-xml-lo.gif');" src="../resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','../resources/button-asf-hi.gif','../resources/button-asf-lo.gif');" src="../resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','../resources/button-w3c-hi.gif','../resources/button-w3c-lo.gif');" src="../resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="../resources/join.gif" vspace="0" width="120"><BR>
<A href="../../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','../graphics/ext-2-label-2.jpg','../graphics/ext-2-label-3.jpg');" src="../graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','../graphics/index-label-2.jpg','../graphics/index-label-3.jpg');" src="../graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../charter.html" onMouseOut="rolloverOff('side-charter');" onMouseOver="rolloverOn('side-charter');"><IMG alt="Charter" border="0" height="12" hspace="0" name="side-charter" onLoad="rolloverLoad('side-charter','../graphics/charter-label-2.jpg','../graphics/charter-label-3.jpg');" src="../graphics/charter-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../releases.html" onMouseOut="rolloverOff('side-releases');" onMouseOver="rolloverOn('side-releases');"><IMG alt="Release Info" border="0" height="12" hspace="0" name="side-releases" onLoad="rolloverLoad('side-releases','../graphics/releases-label-2.jpg','../graphics/releases-label-3.jpg');" src="../graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../install.html" onMouseOut="rolloverOff('side-install');" onMouseOver="rolloverOn('side-install');"><IMG alt="Installation" border="0" height="12" hspace="0" name="side-install" onLoad="rolloverLoad('side-install','../graphics/install-label-2.jpg','../graphics/install-label-3.jpg');" src="../graphics/install-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="http://xerces.apache.org/xerces-c/download.cgi" onMouseOut="rolloverOff('side-ext-20');" onMouseOver="rolloverOn('side-ext-20');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-20" onLoad="rolloverLoad('side-ext-20','../graphics/ext-20-label-2.jpg','../graphics/ext-20-label-3.jpg');" src="../graphics/ext-20-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build Instructions" border="0" height="12" hspace="0" name="side-build" onLoad="rolloverLoad('side-build','../graphics/build-label-2.jpg','../graphics/build-label-3.jpg');" src="../graphics/build-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../program.html" onMouseOut="rolloverOff('side-program');" onMouseOver="rolloverOn('side-program');"><IMG alt="Programming" border="0" height="12" hspace="0" name="side-program" onLoad="rolloverLoad('side-program','../graphics/program-label-2.jpg','../graphics/program-label-3.jpg');" src="../graphics/program-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../samples.html" onMouseOut="rolloverOff('side-samples');" onMouseOver="rolloverOn('side-samples');"><IMG alt="Samples" border="0" height="12" hspace="0" name="side-samples" onLoad="rolloverLoad('side-samples','../graphics/samples-label-2.jpg','../graphics/samples-label-3.jpg');" src="../graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../faqs.html" onMouseOut="rolloverOff('side-faqs');" onMouseOver="rolloverOn('side-faqs');"><IMG alt="FAQs" border="0" height="12" hspace="0" name="side-faqs" onLoad="rolloverLoad('side-faqs','../graphics/faqs-label-2.jpg','../graphics/faqs-label-3.jpg');" src="../graphics/faqs-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../api.html" onMouseOut="rolloverOff('side-api');" onMouseOver="rolloverOn('side-api');"><IMG alt="API Docs" border="0" height="12" hspace="0" name="side-api" onLoad="rolloverLoad('side-api','../graphics/api-label-2.jpg','../graphics/api-label-3.jpg');" src="../graphics/api-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-88');" onMouseOver="rolloverOn('side-ext-88');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-88" onLoad="rolloverLoad('side-ext-88','../graphics/ext-88-label-2.jpg','../graphics/ext-88-label-3.jpg');" src="../graphics/ext-88-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../migrate.html" onMouseOut="rolloverOff('side-migrate');" onMouseOver="rolloverOn('side-migrate');"><IMG alt="Migration Guide" border="0" height="12" hspace="0" name="side-migrate" onLoad="rolloverLoad('side-migrate','../graphics/migrate-label-2.jpg','../graphics/migrate-label-3.jpg');" src="../graphics/migrate-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../feedback.html" onMouseOut="rolloverOff('side-feedback');" onMouseOver="rolloverOn('side-feedback');"><IMG alt="Feedback" border="0" height="12" hspace="0" name="side-feedback" onLoad="rolloverLoad('side-feedback','../graphics/feedback-label-2.jpg','../graphics/feedback-label-3.jpg');" src="../graphics/feedback-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../bug-report.html" onMouseOut="rolloverOff('side-bug-report');" onMouseOver="rolloverOn('side-bug-report');"><IMG alt="Bug-Reporting" border="0" height="12" hspace="0" name="side-bug-report" onLoad="rolloverLoad('side-bug-report','../graphics/bug-report-label-2.jpg','../graphics/bug-report-label-3.jpg');" src="../graphics/bug-report-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../mailing-lists.html" onMouseOut="rolloverOff('side-mailing-lists');" onMouseOver="rolloverOn('side-mailing-lists');"><IMG alt="Mailing Lists" border="0" height="12" hspace="0" name="side-mailing-lists" onLoad="rolloverLoad('side-mailing-lists','../graphics/mailing-lists-label-2.jpg','../graphics/mailing-lists-label-3.jpg');" src="../graphics/mailing-lists-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../source-repository.html" onMouseOut="rolloverOff('side-source-repository');" onMouseOver="rolloverOn('side-source-repository');"><IMG alt="Source Repository" border="0" height="12" hspace="0" name="side-source-repository" onLoad="rolloverLoad('side-source-repository','../graphics/source-repository-label-2.jpg','../graphics/source-repository-label-3.jpg');" src="../graphics/source-repository-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../applications.html" onMouseOut="rolloverOff('side-applications');" onMouseOver="rolloverOn('side-applications');"><IMG alt="Applications" border="0" height="12" hspace="0" name="side-applications" onLoad="rolloverLoad('side-applications','../graphics/applications-label-2.jpg','../graphics/applications-label-3.jpg');" src="../graphics/applications-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="../resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#FFFFFF" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="../resources/void.gif" vspace="0" width="2"><B>API Docs for SAX and DOM</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="classes.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
</ul>
</div>
<h1>XMLString.hpp</h1><a href="XMLString_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 or more</span>
<a name="l00003"></a>00003 <span class="comment"> * contributor license agreements. See the NOTICE file distributed with</span>
<a name="l00004"></a>00004 <span class="comment"> * this work for additional information regarding copyright ownership.</span>
<a name="l00005"></a>00005 <span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span>
<a name="l00006"></a>00006 <span class="comment"> * (the "License"); you may not use this file except in compliance with</span>
<a name="l00007"></a>00007 <span class="comment"> * the License. You may obtain a copy of the License at</span>
<a name="l00008"></a>00008 <span class="comment"> * </span>
<a name="l00009"></a>00009 <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00010"></a>00010 <span class="comment"> * </span>
<a name="l00011"></a>00011 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00012"></a>00012 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
<a name="l00013"></a>00013 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00014"></a>00014 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00015"></a>00015 <span class="comment"> * limitations under the License.</span>
<a name="l00016"></a>00016 <span class="comment"> */</span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="comment">/*</span>
<a name="l00019"></a>00019 <span class="comment"> * $Id: XMLString.hpp 568078 2007-08-21 11:43:25Z amassari $</span>
<a name="l00020"></a>00020 <span class="comment"> */</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="preprocessor">#if !defined(XMLSTRING_HPP)</span>
<a name="l00023"></a><a class="code" href="XMLString_8hpp.html#01ed7a7c94dbae40902b1fd29cb603d5">00023</a> <span class="preprocessor"></span><span class="preprocessor">#define XMLSTRING_HPP</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;xercesc/util/BaseRefVectorOf.hpp&gt;</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;xercesc/framework/XMLBuffer.hpp&gt;</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;<a class="code" href="MemoryManager_8hpp.html">xercesc/framework/MemoryManager.hpp</a>&gt;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;string.h&gt;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;assert.h&gt;</span>
<a name="l00030"></a>00030
<a name="l00031"></a>00031 <a class="code" href="XercesDefs_8hpp.html#43d74fa53d868d978f3e97cbb78b194d">XERCES_CPP_NAMESPACE_BEGIN</a>
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="keyword">class </span><a class="code" href="classXMLLCPTranscoder.html">XMLLCPTranscoder</a>;
<a name="l00045"></a><a class="code" href="classXMLString.html">00045</a> <span class="keyword">class </span><a class="code" href="XercesDefs_8hpp.html#97a524372e218133a8eb0aca39b4bd21"></a> <a class="code" href="classXMLString.html" title="Class for representing native character strings and handling common string operations...">XMLString</a>
<a name="l00046"></a>00046 {
<a name="l00047"></a>00047 <span class="keyword">public</span>:
<a name="l00048"></a>00048 <span class="comment">/* Static methods for native character mode string manipulation */</span>
<a name="l00049"></a>00049
<a name="l00050"></a>00050
<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keywordtype">void</span> catString
<a name="l00068"></a>00068 (
<a name="l00069"></a>00069 <span class="keywordtype">char</span>* <span class="keyword">const</span> target
<a name="l00070"></a>00070 , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> src
<a name="l00071"></a>00071 );
<a name="l00072"></a>00072
<a name="l00085"></a>00085 <span class="keyword">static</span> <span class="keywordtype">void</span> catString
<a name="l00086"></a>00086 (
<a name="l00087"></a>00087 XMLCh* <span class="keyword">const</span> target
<a name="l00088"></a>00088 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> src
<a name="l00089"></a>00089 );
<a name="l00091"></a>00091
<a name="l00105"></a>00105 <span class="keyword">static</span> <span class="keywordtype">int</span> compareIString
<a name="l00106"></a>00106 (
<a name="l00107"></a>00107 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> str1
<a name="l00108"></a>00108 , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> str2
<a name="l00109"></a>00109 );
<a name="l00110"></a>00110
<a name="l00121"></a>00121 <span class="keyword">static</span> <span class="keywordtype">int</span> compareIString
<a name="l00122"></a>00122 (
<a name="l00123"></a>00123 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str1
<a name="l00124"></a>00124 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str2
<a name="l00125"></a>00125 );
<a name="l00126"></a>00126
<a name="l00138"></a>00138 <span class="keyword">static</span> <span class="keywordtype">int</span> compareIStringASCII
<a name="l00139"></a>00139 (
<a name="l00140"></a>00140 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str1
<a name="l00141"></a>00141 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str2
<a name="l00142"></a>00142 );
<a name="l00143"></a>00143
<a name="l00144"></a>00144
<a name="l00145"></a>00145
<a name="l00159"></a>00159 <span class="keyword">static</span> <span class="keywordtype">int</span> compareNString
<a name="l00160"></a>00160 (
<a name="l00161"></a>00161 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> str1
<a name="l00162"></a>00162 , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> str2
<a name="l00163"></a>00163 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count
<a name="l00164"></a>00164 );
<a name="l00165"></a>00165
<a name="l00179"></a>00179 <span class="keyword">static</span> <span class="keywordtype">int</span> compareNString
<a name="l00180"></a>00180 (
<a name="l00181"></a>00181 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str1
<a name="l00182"></a>00182 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str2
<a name="l00183"></a>00183 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count
<a name="l00184"></a>00184 );
<a name="l00185"></a>00185
<a name="l00186"></a>00186
<a name="l00200"></a>00200 <span class="keyword">static</span> <span class="keywordtype">int</span> compareNIString
<a name="l00201"></a>00201 (
<a name="l00202"></a>00202 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> str1
<a name="l00203"></a>00203 , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> str2
<a name="l00204"></a>00204 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count
<a name="l00205"></a>00205 );
<a name="l00206"></a>00206
<a name="l00221"></a>00221 <span class="keyword">static</span> <span class="keywordtype">int</span> compareNIString
<a name="l00222"></a>00222 (
<a name="l00223"></a>00223 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str1
<a name="l00224"></a>00224 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str2
<a name="l00225"></a>00225 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count
<a name="l00226"></a>00226 );
<a name="l00227"></a>00227
<a name="l00240"></a>00240 <span class="keyword">static</span> <span class="keywordtype">int</span> compareString
<a name="l00241"></a>00241 (
<a name="l00242"></a>00242 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> str1
<a name="l00243"></a>00243 , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> str2
<a name="l00244"></a>00244 );
<a name="l00245"></a>00245
<a name="l00257"></a>00257 <span class="keyword">static</span> <span class="keywordtype">int</span> compareString
<a name="l00258"></a>00258 (
<a name="l00259"></a>00259 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str1
<a name="l00260"></a>00260 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str2
<a name="l00261"></a>00261 );
<a name="l00262"></a>00262
<a name="l00271"></a>00271 <span class="keyword">static</span> <span class="keywordtype">bool</span> equals
<a name="l00272"></a>00272 (
<a name="l00273"></a>00273 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str1
<a name="l00274"></a>00274 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str2
<a name="l00275"></a>00275 );
<a name="l00276"></a>00276
<a name="l00277"></a>00277 <span class="keyword">static</span> <span class="keywordtype">bool</span> equals
<a name="l00278"></a>00278 (
<a name="l00279"></a>00279 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> str1
<a name="l00280"></a>00280 , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> str2
<a name="l00281"></a>00281 );
<a name="l00282"></a>00282
<a name="l00309"></a>00309 <span class="keyword">static</span> <span class="keywordtype">bool</span> regionMatches
<a name="l00310"></a>00310 (
<a name="l00311"></a>00311 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str1
<a name="l00312"></a>00312 , <span class="keyword">const</span> <span class="keywordtype">int</span> offset1
<a name="l00313"></a>00313 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str2
<a name="l00314"></a>00314 , <span class="keyword">const</span> <span class="keywordtype">int</span> offset2
<a name="l00315"></a>00315 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> charCount
<a name="l00316"></a>00316 );
<a name="l00317"></a>00317
<a name="l00345"></a>00345 <span class="keyword">static</span> <span class="keywordtype">bool</span> regionIMatches
<a name="l00346"></a>00346 (
<a name="l00347"></a>00347 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str1
<a name="l00348"></a>00348 , <span class="keyword">const</span> <span class="keywordtype">int</span> offset1
<a name="l00349"></a>00349 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str2
<a name="l00350"></a>00350 , <span class="keyword">const</span> <span class="keywordtype">int</span> offset2
<a name="l00351"></a>00351 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> charCount
<a name="l00352"></a>00352 );
<a name="l00354"></a>00354
<a name="l00367"></a>00367 <span class="keyword">static</span> <span class="keywordtype">void</span> copyString
<a name="l00368"></a>00368 (
<a name="l00369"></a>00369 <span class="keywordtype">char</span>* <span class="keyword">const</span> target
<a name="l00370"></a>00370 , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> src
<a name="l00371"></a>00371 );
<a name="l00372"></a>00372
<a name="l00383"></a>00383 <span class="keyword">static</span> <span class="keywordtype">void</span> copyString
<a name="l00384"></a>00384 (
<a name="l00385"></a>00385 XMLCh* <span class="keyword">const</span> target
<a name="l00386"></a>00386 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> src
<a name="l00387"></a>00387 );
<a name="l00388"></a>00388
<a name="l00401"></a>00401 <span class="keyword">static</span> <span class="keywordtype">bool</span> copyNString
<a name="l00402"></a>00402 (
<a name="l00403"></a>00403 XMLCh* <span class="keyword">const</span> target
<a name="l00404"></a>00404 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> src
<a name="l00405"></a>00405 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxChars
<a name="l00406"></a>00406 );
<a name="l00408"></a>00408
<a name="l00418"></a>00418 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hash
<a name="l00419"></a>00419 (
<a name="l00420"></a>00420 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> toHash
<a name="l00421"></a>00421 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hashModulus
<a name="l00422"></a>00422 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00423"></a>00423 );
<a name="l00424"></a>00424
<a name="l00432"></a>00432 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hash
<a name="l00433"></a>00433 (
<a name="l00434"></a>00434 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toHash
<a name="l00435"></a>00435 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hashModulus
<a name="l00436"></a>00436 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00437"></a>00437 );
<a name="l00438"></a>00438
<a name="l00448"></a>00448 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hashN
<a name="l00449"></a>00449 (
<a name="l00450"></a>00450 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toHash
<a name="l00451"></a>00451 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numChars
<a name="l00452"></a>00452 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hashModulus
<a name="l00453"></a>00453 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00454"></a>00454 );
<a name="l00455"></a>00455
<a name="l00457"></a>00457
<a name="l00468"></a>00468 <span class="keyword">static</span> <span class="keywordtype">int</span> indexOf(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> toSearch, <span class="keyword">const</span> <span class="keywordtype">char</span> ch);
<a name="l00469"></a>00469
<a name="l00478"></a>00478 <span class="keyword">static</span> <span class="keywordtype">int</span> indexOf(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toSearch, <span class="keyword">const</span> XMLCh ch);
<a name="l00479"></a>00479
<a name="l00491"></a>00491 <span class="keyword">static</span> <span class="keywordtype">int</span> indexOf
<a name="l00492"></a>00492 (
<a name="l00493"></a>00493 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> toSearch
<a name="l00494"></a>00494 , <span class="keyword">const</span> <span class="keywordtype">char</span> chToFind
<a name="l00495"></a>00495 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> fromIndex
<a name="l00496"></a>00496 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00497"></a>00497 );
<a name="l00498"></a>00498
<a name="l00510"></a>00510 <span class="keyword">static</span> <span class="keywordtype">int</span> indexOf
<a name="l00511"></a>00511 (
<a name="l00512"></a>00512 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toSearch
<a name="l00513"></a>00513 , <span class="keyword">const</span> XMLCh chToFind
<a name="l00514"></a>00514 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> fromIndex
<a name="l00515"></a>00515 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00516"></a>00516 );
<a name="l00517"></a>00517
<a name="l00526"></a>00526 <span class="keyword">static</span> <span class="keywordtype">int</span> lastIndexOf(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> toSearch, <span class="keyword">const</span> <span class="keywordtype">char</span> ch);
<a name="l00527"></a>00527
<a name="l00536"></a>00536 <span class="keyword">static</span> <span class="keywordtype">int</span> lastIndexOf(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toSearch, <span class="keyword">const</span> XMLCh ch);
<a name="l00537"></a>00537
<a name="l00547"></a>00547 <span class="keyword">static</span> <span class="keywordtype">int</span> lastIndexOf
<a name="l00548"></a>00548 (
<a name="l00549"></a>00549 <span class="keyword">const</span> XMLCh ch
<a name="l00550"></a>00550 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toSearch
<a name="l00551"></a>00551 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> toSearchLen
<a name="l00552"></a>00552 );
<a name="l00553"></a>00553
<a name="l00565"></a>00565 <span class="keyword">static</span> <span class="keywordtype">int</span> lastIndexOf
<a name="l00566"></a>00566 (
<a name="l00567"></a>00567 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> toSearch
<a name="l00568"></a>00568 , <span class="keyword">const</span> <span class="keywordtype">char</span> chToFind
<a name="l00569"></a>00569 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> fromIndex
<a name="l00570"></a>00570 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00571"></a>00571 );
<a name="l00572"></a>00572
<a name="l00584"></a>00584 <span class="keyword">static</span> <span class="keywordtype">int</span> lastIndexOf
<a name="l00585"></a>00585 (
<a name="l00586"></a>00586 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toSearch
<a name="l00587"></a>00587 , <span class="keyword">const</span> XMLCh ch
<a name="l00588"></a>00588 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> fromIndex
<a name="l00589"></a>00589 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00590"></a>00590 );
<a name="l00592"></a>00592
<a name="l00600"></a>00600 <span class="keyword">static</span> <span class="keywordtype">void</span> moveChars
<a name="l00601"></a>00601 (
<a name="l00602"></a>00602 XMLCh* <span class="keyword">const</span> targetStr
<a name="l00603"></a>00603 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> srcStr
<a name="l00604"></a>00604 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count
<a name="l00605"></a>00605 );
<a name="l00606"></a>00606
<a name="l00608"></a>00608
<a name="l00620"></a>00620 <span class="keyword">static</span> <span class="keywordtype">void</span> subString
<a name="l00621"></a>00621 (
<a name="l00622"></a>00622 <span class="keywordtype">char</span>* <span class="keyword">const</span> targetStr
<a name="l00623"></a>00623 , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> srcStr
<a name="l00624"></a>00624 , <span class="keyword">const</span> <span class="keywordtype">int</span> startIndex
<a name="l00625"></a>00625 , <span class="keyword">const</span> <span class="keywordtype">int</span> endIndex
<a name="l00626"></a>00626 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00627"></a>00627 );
<a name="l00628"></a>00628
<a name="l00638"></a>00638 <span class="keyword">static</span> <span class="keywordtype">void</span> subString
<a name="l00639"></a>00639 (
<a name="l00640"></a>00640 XMLCh* <span class="keyword">const</span> targetStr
<a name="l00641"></a>00641 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> srcStr
<a name="l00642"></a>00642 , <span class="keyword">const</span> <span class="keywordtype">int</span> startIndex
<a name="l00643"></a>00643 , <span class="keyword">const</span> <span class="keywordtype">int</span> endIndex
<a name="l00644"></a>00644 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00645"></a>00645 );
<a name="l00646"></a>00646
<a name="l00657"></a>00657 <span class="keyword">static</span> <span class="keywordtype">void</span> subString
<a name="l00658"></a>00658 (
<a name="l00659"></a>00659 XMLCh* <span class="keyword">const</span> targetStr
<a name="l00660"></a>00660 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> srcStr
<a name="l00661"></a>00661 , <span class="keyword">const</span> <span class="keywordtype">int</span> startIndex
<a name="l00662"></a>00662 , <span class="keyword">const</span> <span class="keywordtype">int</span> endIndex
<a name="l00663"></a>00663 , <span class="keyword">const</span> <span class="keywordtype">int</span> srcStrLength
<a name="l00664"></a>00664 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00665"></a>00665 );
<a name="l00666"></a>00666
<a name="l00668"></a>00668
<a name="l00680"></a>00680 <span class="keyword">static</span> <span class="keywordtype">char</span>* replicate(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> toRep);
<a name="l00681"></a>00681
<a name="l00690"></a>00690 <span class="keyword">static</span> <span class="keywordtype">char</span>* replicate(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> toRep,
<a name="l00691"></a>00691 <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager);
<a name="l00692"></a>00692
<a name="l00702"></a>00702 <span class="keyword">static</span> XMLCh* replicate(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toRep);
<a name="l00703"></a>00703
<a name="l00712"></a>00712 <span class="keyword">static</span> XMLCh* replicate(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toRep,
<a name="l00713"></a>00713 <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager);
<a name="l00714"></a>00714
<a name="l00716"></a>00716
<a name="l00725"></a>00725 <span class="keyword">static</span> <span class="keywordtype">bool</span> startsWith
<a name="l00726"></a>00726 (
<a name="l00727"></a>00727 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> toTest
<a name="l00728"></a>00728 , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> prefix
<a name="l00729"></a>00729 );
<a name="l00730"></a>00730
<a name="l00737"></a>00737 <span class="keyword">static</span> <span class="keywordtype">bool</span> startsWith
<a name="l00738"></a>00738 (
<a name="l00739"></a>00739 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toTest
<a name="l00740"></a>00740 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> prefix
<a name="l00741"></a>00741 );
<a name="l00742"></a>00742
<a name="l00751"></a>00751 <span class="keyword">static</span> <span class="keywordtype">bool</span> startsWithI
<a name="l00752"></a>00752 (
<a name="l00753"></a>00753 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> toTest
<a name="l00754"></a>00754 , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> prefix
<a name="l00755"></a>00755 );
<a name="l00756"></a>00756
<a name="l00766"></a>00766 <span class="keyword">static</span> <span class="keywordtype">bool</span> startsWithI
<a name="l00767"></a>00767 (
<a name="l00768"></a>00768 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toTest
<a name="l00769"></a>00769 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> prefix
<a name="l00770"></a>00770 );
<a name="l00771"></a>00771
<a name="l00778"></a>00778 <span class="keyword">static</span> <span class="keywordtype">bool</span> endsWith
<a name="l00779"></a>00779 (
<a name="l00780"></a>00780 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toTest
<a name="l00781"></a>00781 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> suffix
<a name="l00782"></a>00782 );
<a name="l00783"></a>00783
<a name="l00784"></a>00784
<a name="l00793"></a>00793 <span class="keyword">static</span> <span class="keyword">const</span> XMLCh* findAny
<a name="l00794"></a>00794 (
<a name="l00795"></a>00795 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toSearch
<a name="l00796"></a>00796 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> searchList
<a name="l00797"></a>00797 );
<a name="l00798"></a>00798
<a name="l00807"></a>00807 <span class="keyword">static</span> XMLCh* findAny
<a name="l00808"></a>00808 (
<a name="l00809"></a>00809 XMLCh* <span class="keyword">const</span> toSearch
<a name="l00810"></a>00810 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> searchList
<a name="l00811"></a>00811 );
<a name="l00812"></a>00812
<a name="l00819"></a>00819 <span class="keyword">static</span> <span class="keywordtype">int</span> patternMatch
<a name="l00820"></a>00820 (
<a name="l00821"></a>00821 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toSearch
<a name="l00822"></a>00822 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> pattern
<a name="l00823"></a>00823 );
<a name="l00824"></a>00824
<a name="l00829"></a>00829 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stringLen(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> src);
<a name="l00830"></a>00830
<a name="l00835"></a>00835 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stringLen(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> src);
<a name="l00836"></a>00836
<a name="l00844"></a>00844 <span class="keyword">static</span> <span class="keywordtype">bool</span> isValidNOTATION(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> name
<a name="l00845"></a>00845 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>);
<a name="l00846"></a>00846
<a name="l00854"></a>00854 <span class="keyword">static</span> <span class="keywordtype">bool</span> isValidNCName(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> name);
<a name="l00855"></a>00855
<a name="l00863"></a>00863 <span class="keyword">static</span> <span class="keywordtype">bool</span> isValidName(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> name);
<a name="l00864"></a>00864
<a name="l00870"></a>00870 <span class="keyword">static</span> <span class="keywordtype">bool</span> isValidEncName(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> name);
<a name="l00871"></a>00871
<a name="l00879"></a>00879 <span class="keyword">static</span> <span class="keywordtype">bool</span> isValidQName(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> name);
<a name="l00880"></a>00880
<a name="l00887"></a>00887 <span class="keyword">static</span> <span class="keywordtype">bool</span> isAlpha(XMLCh <span class="keyword">const</span> theChar);
<a name="l00888"></a>00888
<a name="l00894"></a>00894 <span class="keyword">static</span> <span class="keywordtype">bool</span> isDigit(XMLCh <span class="keyword">const</span> theChar);
<a name="l00895"></a>00895
<a name="l00901"></a>00901 <span class="keyword">static</span> <span class="keywordtype">bool</span> isAlphaNum(XMLCh <span class="keyword">const</span> theChar);
<a name="l00902"></a>00902
<a name="l00908"></a>00908 <span class="keyword">static</span> <span class="keywordtype">bool</span> isHex(XMLCh <span class="keyword">const</span> theChar);
<a name="l00909"></a>00909
<a name="l00917"></a>00917 <span class="keyword">static</span> <span class="keywordtype">bool</span> isAllWhiteSpace(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toCheck);
<a name="l00918"></a>00918
<a name="l00924"></a>00924 <span class="keyword">static</span> <span class="keywordtype">bool</span> isInList(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toFind, <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> enumList);
<a name="l00925"></a>00925
<a name="l00927"></a>00927
<a name="l00930"></a>00930
<a name="l00942"></a>00942 <span class="keyword">static</span> <span class="keywordtype">void</span> binToText
<a name="l00943"></a>00943 (
<a name="l00944"></a>00944 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> toFormat
<a name="l00945"></a>00945 , <span class="keywordtype">char</span>* <span class="keyword">const</span> toFill
<a name="l00946"></a>00946 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxChars
<a name="l00947"></a>00947 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> radix
<a name="l00948"></a>00948 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00949"></a>00949 );
<a name="l00950"></a>00950
<a name="l00962"></a>00962 <span class="keyword">static</span> <span class="keywordtype">void</span> binToText
<a name="l00963"></a>00963 (
<a name="l00964"></a>00964 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> toFormat
<a name="l00965"></a>00965 , XMLCh* <span class="keyword">const</span> toFill
<a name="l00966"></a>00966 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxChars
<a name="l00967"></a>00967 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> radix
<a name="l00968"></a>00968 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00969"></a>00969 );
<a name="l00970"></a>00970
<a name="l00982"></a>00982 <span class="keyword">static</span> <span class="keywordtype">void</span> binToText
<a name="l00983"></a>00983 (
<a name="l00984"></a>00984 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> toFormat
<a name="l00985"></a>00985 , <span class="keywordtype">char</span>* <span class="keyword">const</span> toFill
<a name="l00986"></a>00986 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxChars
<a name="l00987"></a>00987 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> radix
<a name="l00988"></a>00988 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l00989"></a>00989 );
<a name="l00990"></a>00990
<a name="l01002"></a>01002 <span class="keyword">static</span> <span class="keywordtype">void</span> binToText
<a name="l01003"></a>01003 (
<a name="l01004"></a>01004 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> toFormat
<a name="l01005"></a>01005 , XMLCh* <span class="keyword">const</span> toFill
<a name="l01006"></a>01006 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxChars
<a name="l01007"></a>01007 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> radix
<a name="l01008"></a>01008 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l01009"></a>01009 );
<a name="l01010"></a>01010
<a name="l01022"></a>01022 <span class="keyword">static</span> <span class="keywordtype">void</span> binToText
<a name="l01023"></a>01023 (
<a name="l01024"></a>01024 <span class="keyword">const</span> <span class="keywordtype">long</span> toFormat
<a name="l01025"></a>01025 , <span class="keywordtype">char</span>* <span class="keyword">const</span> toFill
<a name="l01026"></a>01026 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxChars
<a name="l01027"></a>01027 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> radix
<a name="l01028"></a>01028 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l01029"></a>01029 );
<a name="l01030"></a>01030
<a name="l01042"></a>01042 <span class="keyword">static</span> <span class="keywordtype">void</span> binToText
<a name="l01043"></a>01043 (
<a name="l01044"></a>01044 <span class="keyword">const</span> <span class="keywordtype">long</span> toFormat
<a name="l01045"></a>01045 , XMLCh* <span class="keyword">const</span> toFill
<a name="l01046"></a>01046 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxChars
<a name="l01047"></a>01047 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> radix
<a name="l01048"></a>01048 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l01049"></a>01049 );
<a name="l01050"></a>01050
<a name="l01062"></a>01062 <span class="keyword">static</span> <span class="keywordtype">void</span> binToText
<a name="l01063"></a>01063 (
<a name="l01064"></a>01064 <span class="keyword">const</span> <span class="keywordtype">int</span> toFormat
<a name="l01065"></a>01065 , <span class="keywordtype">char</span>* <span class="keyword">const</span> toFill
<a name="l01066"></a>01066 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxChars
<a name="l01067"></a>01067 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> radix
<a name="l01068"></a>01068 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l01069"></a>01069 );
<a name="l01070"></a>01070
<a name="l01082"></a>01082 <span class="keyword">static</span> <span class="keywordtype">void</span> binToText
<a name="l01083"></a>01083 (
<a name="l01084"></a>01084 <span class="keyword">const</span> <span class="keywordtype">int</span> toFormat
<a name="l01085"></a>01085 , XMLCh* <span class="keyword">const</span> toFill
<a name="l01086"></a>01086 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxChars
<a name="l01087"></a>01087 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> radix
<a name="l01088"></a>01088 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l01089"></a>01089 );
<a name="l01090"></a>01090
<a name="l01102"></a>01102 <span class="keyword">static</span> <span class="keywordtype">bool</span> textToBin
<a name="l01103"></a>01103 (
<a name="l01104"></a>01104 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toConvert
<a name="l01105"></a>01105 , <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; toFill
<a name="l01106"></a>01106 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l01107"></a>01107 );
<a name="l01108"></a>01108
<a name="l01122"></a>01122 <span class="keyword">static</span> <span class="keywordtype">int</span> parseInt
<a name="l01123"></a>01123 (
<a name="l01124"></a>01124 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toConvert
<a name="l01125"></a>01125 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l01126"></a>01126 );
<a name="l01127"></a>01127
<a name="l01133"></a>01133 <span class="keyword">static</span> <span class="keywordtype">void</span> cut
<a name="l01134"></a>01134 (
<a name="l01135"></a>01135 XMLCh* <span class="keyword">const</span> toCutFrom
<a name="l01136"></a>01136 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count
<a name="l01137"></a>01137 );
<a name="l01138"></a>01138
<a name="l01149"></a>01149 <span class="keyword">static</span> <span class="keywordtype">char</span>* transcode
<a name="l01150"></a>01150 (
<a name="l01151"></a>01151 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toTranscode
<a name="l01152"></a>01152 );
<a name="l01153"></a>01153 <span class="keyword">static</span> <span class="keywordtype">char</span>* transcode
<a name="l01154"></a>01154 (
<a name="l01155"></a>01155 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toTranscode
<a name="l01156"></a>01156 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager
<a name="l01157"></a>01157 );
<a name="l01158"></a>01158
<a name="l01174"></a>01174 <span class="keyword">static</span> <span class="keywordtype">bool</span> transcode
<a name="l01175"></a>01175 (
<a name="l01176"></a>01176 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toTranscode
<a name="l01177"></a>01177 , <span class="keywordtype">char</span>* <span class="keyword">const</span> toFill
<a name="l01178"></a>01178 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxChars
<a name="l01179"></a>01179 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l01180"></a>01180 );
<a name="l01181"></a>01181
<a name="l01192"></a>01192 <span class="keyword">static</span> XMLCh* transcode
<a name="l01193"></a>01193 (
<a name="l01194"></a>01194 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> toTranscode
<a name="l01195"></a>01195 );
<a name="l01196"></a>01196 <span class="keyword">static</span> XMLCh* transcode
<a name="l01197"></a>01197 (
<a name="l01198"></a>01198 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> toTranscode
<a name="l01199"></a>01199 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager
<a name="l01200"></a>01200 );
<a name="l01201"></a>01201
<a name="l01212"></a>01212 <span class="keyword">static</span> <span class="keywordtype">bool</span> transcode
<a name="l01213"></a>01213 (
<a name="l01214"></a>01214 <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> toTranscode
<a name="l01215"></a>01215 , XMLCh* <span class="keyword">const</span> toFill
<a name="l01216"></a>01216 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxChars
<a name="l01217"></a>01217 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l01218"></a>01218 );
<a name="l01219"></a>01219
<a name="l01225"></a>01225 <span class="keyword">static</span> <span class="keywordtype">void</span> trim(<span class="keywordtype">char</span>* <span class="keyword">const</span> toTrim);
<a name="l01226"></a>01226
<a name="l01232"></a>01232 <span class="keyword">static</span> <span class="keywordtype">void</span> trim(XMLCh* <span class="keyword">const</span> toTrim);
<a name="l01233"></a>01233
<a name="l01241"></a>01241 <span class="keyword">static</span> BaseRefVectorOf&lt;XMLCh&gt;* tokenizeString(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> tokenizeSrc
<a name="l01242"></a>01242 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>);
<a name="l01243"></a>01243
<a name="l01245"></a>01245
<a name="l01256"></a>01256 <span class="keyword">static</span> XMLCh* makeUName
<a name="l01257"></a>01257 (
<a name="l01258"></a>01258 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> pszURI
<a name="l01259"></a>01259 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> pszName
<a name="l01260"></a>01260 );
<a name="l01261"></a>01261
<a name="l01278"></a>01278 <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> replaceTokens
<a name="l01279"></a>01279 (
<a name="l01280"></a>01280 XMLCh* <span class="keyword">const</span> errText
<a name="l01281"></a>01281 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxChars
<a name="l01282"></a>01282 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> text1
<a name="l01283"></a>01283 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> text2
<a name="l01284"></a>01284 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> text3
<a name="l01285"></a>01285 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> text4
<a name="l01286"></a>01286 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>
<a name="l01287"></a>01287 );
<a name="l01288"></a>01288
<a name="l01293"></a>01293 <span class="keyword">static</span> <span class="keywordtype">void</span> upperCase(XMLCh* <span class="keyword">const</span> toUpperCase);
<a name="l01294"></a>01294
<a name="l01300"></a>01300 <span class="keyword">static</span> <span class="keywordtype">void</span> upperCaseASCII(XMLCh* <span class="keyword">const</span> toUpperCase);
<a name="l01301"></a>01301
<a name="l01306"></a>01306 <span class="keyword">static</span> <span class="keywordtype">void</span> lowerCase(XMLCh* <span class="keyword">const</span> toLowerCase);
<a name="l01307"></a>01307
<a name="l01313"></a>01313 <span class="keyword">static</span> <span class="keywordtype">void</span> lowerCaseASCII(XMLCh* <span class="keyword">const</span> toLowerCase);
<a name="l01314"></a>01314
<a name="l01318"></a>01318 <span class="keyword">static</span> <span class="keywordtype">bool</span> isWSReplaced(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toCheck);
<a name="l01319"></a>01319
<a name="l01323"></a>01323 <span class="keyword">static</span> <span class="keywordtype">bool</span> isWSCollapsed(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toCheck);
<a name="l01324"></a>01324
<a name="l01330"></a>01330 <span class="keyword">static</span> <span class="keywordtype">void</span> replaceWS(XMLCh* <span class="keyword">const</span> toConvert
<a name="l01331"></a>01331 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>);
<a name="l01332"></a>01332
<a name="l01338"></a>01338 <span class="keyword">static</span> <span class="keywordtype">void</span> collapseWS(XMLCh* <span class="keyword">const</span> toConvert
<a name="l01339"></a>01339 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>);
<a name="l01340"></a>01340
<a name="l01346"></a>01346 <span class="keyword">static</span> <span class="keywordtype">void</span> removeWS(XMLCh* <span class="keyword">const</span> toConvert
<a name="l01347"></a>01347 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager = <a class="code" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>);
<a name="l01348"></a>01348
<a name="l01349"></a>01349
<a name="l01355"></a>01355 <span class="keyword">static</span> <span class="keywordtype">void</span> removeChar(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> srcString
<a name="l01356"></a>01356 , <span class="keyword">const</span> XMLCh&amp; toRemove
<a name="l01357"></a>01357 , XMLBuffer&amp; dstBuffer);
<a name="l01358"></a>01358
<a name="l01366"></a>01366 <span class="keyword">static</span> <span class="keywordtype">void</span> fixURI(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str, XMLCh* <span class="keyword">const</span> target);
<a name="l01367"></a>01367
<a name="l01369"></a>01369
<a name="l01377"></a>01377 <span class="keyword">static</span> <span class="keywordtype">void</span> release(<span class="keywordtype">char</span>** buf);
<a name="l01378"></a>01378
<a name="l01385"></a>01385 <span class="keyword">static</span> <span class="keywordtype">void</span> release(XMLCh** buf);
<a name="l01386"></a>01386
<a name="l01393"></a>01393 <span class="keyword">static</span> <span class="keywordtype">void</span> release(<a class="code" href="XercesDefs_8hpp.html#7470c7a32c59355685ebcd878a33f126">XMLByte</a>** buf);
<a name="l01394"></a>01394
<a name="l01403"></a>01403 <span class="keyword">static</span> <span class="keywordtype">void</span> release
<a name="l01404"></a>01404 (
<a name="l01405"></a>01405 <span class="keywordtype">void</span>** buf
<a name="l01406"></a>01406 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager
<a name="l01407"></a>01407 );
<a name="l01408"></a>01408
<a name="l01410"></a>01410
<a name="l01411"></a>01411
<a name="l01412"></a>01412 <span class="keyword">private</span> :
<a name="l01413"></a>01413
<a name="l01417"></a>01417 <a class="code" href="classXMLString.html" title="Class for representing native character strings and handling common string operations...">XMLString</a>();
<a name="l01419"></a>01419 ~<a class="code" href="classXMLString.html" title="Class for representing native character strings and handling common string operations...">XMLString</a>();
<a name="l01421"></a>01421
<a name="l01422"></a>01422
<a name="l01426"></a>01426 <span class="keyword">static</span> <span class="keywordtype">void</span> initString(<a class="code" href="classXMLLCPTranscoder.html">XMLLCPTranscoder</a>* <span class="keyword">const</span> defToUse,
<a name="l01427"></a>01427 <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager);
<a name="l01428"></a>01428 <span class="keyword">static</span> <span class="keywordtype">void</span> termString();
<a name="l01430"></a>01430
<a name="l01435"></a>01435 <span class="keyword">static</span> <span class="keywordtype">bool</span> validateRegion(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str1, <span class="keyword">const</span> <span class="keywordtype">int</span> offset1,
<a name="l01436"></a>01436 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str2, <span class="keyword">const</span> <span class="keywordtype">int</span> offset2,
<a name="l01437"></a>01437 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> charCount);
<a name="l01438"></a>01438
<a name="l01439"></a>01439 <span class="keyword">static</span> <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* fgMemoryManager;
<a name="l01440"></a>01440
<a name="l01441"></a><a class="code" href="classXMLString.html#6fef3aac9b620715c5a90c4ca13869c0">01441</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classXMLPlatformUtils.html" title="Utilities that must be implemented in a platform-specific way.">XMLPlatformUtils</a>;
<a name="l01442"></a>01442 };
<a name="l01443"></a>01443
<a name="l01444"></a>01444
<a name="l01445"></a>01445 <span class="comment">// ---------------------------------------------------------------------------</span>
<a name="l01446"></a>01446 <span class="comment">// Inline some methods that are either just passthroughs to other string</span>
<a name="l01447"></a>01447 <span class="comment">// methods, or which are key for performance.</span>
<a name="l01448"></a>01448 <span class="comment">// ---------------------------------------------------------------------------</span>
<a name="l01449"></a><a class="code" href="classXMLString.html#74baa04a74c5ffc8c069d7d1b28684ef">01449</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classXMLString.html#74baa04a74c5ffc8c069d7d1b28684ef" title="Moves X number of chars.">XMLString::moveChars</a>( XMLCh* <span class="keyword">const</span> targetStr
<a name="l01450"></a>01450 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> srcStr
<a name="l01451"></a>01451 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count)
<a name="l01452"></a>01452 {
<a name="l01453"></a>01453 memcpy(targetStr, srcStr, count * <span class="keyword">sizeof</span>(XMLCh));
<a name="l01454"></a>01454 }
<a name="l01455"></a>01455
<a name="l01456"></a><a class="code" href="classXMLString.html#d398fa9d159d5c0a2eb0d454481382f5">01456</a> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classXMLString.html#0dcb95e9c1de8891e097f1500bda8c82" title="Get the length of the string.">XMLString::stringLen</a>(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> src)
<a name="l01457"></a>01457 {
<a name="l01458"></a>01458 <span class="keywordflow">if</span> (src == 0 || *src == 0)
<a name="l01459"></a>01459 {
<a name="l01460"></a>01460 <span class="keywordflow">return</span> 0;
<a name="l01461"></a>01461 }
<a name="l01462"></a>01462 <span class="keywordflow">else</span>
<a name="l01463"></a>01463 {
<a name="l01464"></a>01464 <span class="keyword">const</span> XMLCh* pszTmp = src + 1;
<a name="l01465"></a>01465
<a name="l01466"></a>01466 <span class="keywordflow">while</span> (*pszTmp)
<a name="l01467"></a>01467 ++pszTmp;
<a name="l01468"></a>01468
<a name="l01469"></a>01469 <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)(pszTmp - src);
<a name="l01470"></a>01470 }
<a name="l01471"></a>01471 }
<a name="l01472"></a>01472
<a name="l01473"></a><a class="code" href="classXMLString.html#c360f8fa463a19d82813ca72dcd27c88">01473</a> <span class="keyword">inline</span> XMLCh* <a class="code" href="classXMLString.html#31af5fc5e562ca4f7315825a7ac0f034" title="Replicates a string NOTE: The returned buffer is dynamically allocated and is the...">XMLString::replicate</a>(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toRep,
<a name="l01474"></a>01474 <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span> manager)
<a name="l01475"></a>01475 {
<a name="l01476"></a>01476 <span class="comment">// If a null string, return a null string!</span>
<a name="l01477"></a>01477 XMLCh* ret = 0;
<a name="l01478"></a>01478 <span class="keywordflow">if</span> (toRep)
<a name="l01479"></a>01479 {
<a name="l01480"></a>01480 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> len = <a class="code" href="classXMLString.html#0dcb95e9c1de8891e097f1500bda8c82" title="Get the length of the string.">stringLen</a>(toRep);
<a name="l01481"></a>01481 ret = (XMLCh*) manager-&gt;<a class="code" href="classMemoryManager.html#c568a2432e94c6fb4addbcd838f89d87" title="This method allocates requested memory.">allocate</a>((len+1) * <span class="keyword">sizeof</span>(XMLCh)); <span class="comment">//new XMLCh[len + 1];</span>
<a name="l01482"></a>01482 memcpy(ret, toRep, (len + 1) * <span class="keyword">sizeof</span>(XMLCh));
<a name="l01483"></a>01483 }
<a name="l01484"></a>01484 <span class="keywordflow">return</span> ret;
<a name="l01485"></a>01485 }
<a name="l01486"></a>01486
<a name="l01487"></a><a class="code" href="classXMLString.html#f0cc56c2b99a26f4d6b505d814ac9f54">01487</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classXMLString.html#2325083c2425e7fa327b99a54a4b8355" title="Tells if the sub-string appears within a string at the beginning.">XMLString::startsWith</a>( <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toTest
<a name="l01488"></a>01488 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> prefix)
<a name="l01489"></a>01489 {
<a name="l01490"></a>01490 <span class="keywordflow">return</span> (<a class="code" href="classXMLString.html#dd3ecf20d72c053d2d604bb81f4d8bc1" title="Lexicographically compares, at most, the first count characters in str1 and str2...">compareNString</a>(toTest, prefix, <a class="code" href="classXMLString.html#0dcb95e9c1de8891e097f1500bda8c82" title="Get the length of the string.">stringLen</a>(prefix)) == 0);
<a name="l01491"></a>01491 }
<a name="l01492"></a>01492
<a name="l01493"></a><a class="code" href="classXMLString.html#c39eb0339e1166fb178e6130297d0afc">01493</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classXMLString.html#4095ede23a05b215e0f63d4b8d27a514" title="Tells if the sub-string appears within a string at the beginning without regard to...">XMLString::startsWithI</a>( <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toTest
<a name="l01494"></a>01494 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> prefix)
<a name="l01495"></a>01495 {
<a name="l01496"></a>01496 <span class="keywordflow">return</span> (<a class="code" href="classXMLString.html#567022e954ab6efb4e04ecc0014a2ec3" title="Lexicographically compares, at most, the first count characters in str1 and str2...">compareNIString</a>(toTest, prefix, <a class="code" href="classXMLString.html#0dcb95e9c1de8891e097f1500bda8c82" title="Get the length of the string.">stringLen</a>(prefix)) == 0);
<a name="l01497"></a>01497 }
<a name="l01498"></a>01498
<a name="l01499"></a><a class="code" href="classXMLString.html#b49422da0b0f90404fc36a72bdaf261c">01499</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classXMLString.html#b49422da0b0f90404fc36a72bdaf261c" title="Tells if the sub-string appears within a string at the end.">XMLString::endsWith</a>(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toTest,
<a name="l01500"></a>01500 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> suffix)
<a name="l01501"></a>01501 {
<a name="l01502"></a>01502
<a name="l01503"></a>01503 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> suffixLen = <a class="code" href="classXMLString.html#0dcb95e9c1de8891e097f1500bda8c82" title="Get the length of the string.">XMLString::stringLen</a>(suffix);
<a name="l01504"></a>01504
<a name="l01505"></a>01505 <span class="keywordflow">return</span> <a class="code" href="classXMLString.html#07772b81ee9198cee3d67bead3e8bdbf" title="Lexicographically compares str1 and str2 regions and returns true if they are equal...">regionMatches</a>(toTest, <a class="code" href="classXMLString.html#0dcb95e9c1de8891e097f1500bda8c82" title="Get the length of the string.">XMLString::stringLen</a>(toTest) - suffixLen,
<a name="l01506"></a>01506 suffix, 0, suffixLen);
<a name="l01507"></a>01507 }
<a name="l01508"></a>01508
<a name="l01509"></a>01509 <span class="keyword">inline</span> <span class="keywordtype">bool</span> XMLString::validateRegion(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str1,
<a name="l01510"></a>01510 <span class="keyword">const</span> <span class="keywordtype">int</span> offset1,
<a name="l01511"></a>01511 <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str2,
<a name="l01512"></a>01512 <span class="keyword">const</span> <span class="keywordtype">int</span> offset2,
<a name="l01513"></a>01513 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> charCount)
<a name="l01514"></a>01514 {
<a name="l01515"></a>01515
<a name="l01516"></a>01516 <span class="keywordflow">if</span> (offset1 &lt; 0 || offset2 &lt; 0 ||
<a name="l01517"></a>01517 (offset1 + charCount) &gt; <a class="code" href="classXMLString.html#0dcb95e9c1de8891e097f1500bda8c82" title="Get the length of the string.">XMLString::stringLen</a>(str1) ||
<a name="l01518"></a>01518 (offset2 + charCount) &gt; <a class="code" href="classXMLString.html#0dcb95e9c1de8891e097f1500bda8c82" title="Get the length of the string.">XMLString::stringLen</a>(str2) )
<a name="l01519"></a>01519 <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l01520"></a>01520
<a name="l01521"></a>01521 <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l01522"></a>01522 }
<a name="l01523"></a>01523
<a name="l01524"></a><a class="code" href="classXMLString.html#7dbb1cb2b52525871ac83c6166d6e7f0">01524</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classXMLString.html#7dbb1cb2b52525871ac83c6166d6e7f0" title="compares str1 and str2">XMLString::equals</a>( <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str1
<a name="l01525"></a>01525 , <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> str2)
<a name="l01526"></a>01526 {
<a name="l01527"></a>01527 <span class="keyword">const</span> XMLCh* psz1 = str1;
<a name="l01528"></a>01528 <span class="keyword">const</span> XMLCh* psz2 = str2;
<a name="l01529"></a>01529
<a name="l01530"></a>01530 <span class="keywordflow">if</span> (psz1 == 0 || psz2 == 0) {
<a name="l01531"></a>01531 <span class="keywordflow">if</span> ((psz1 != 0 &amp;&amp; *psz1) || (psz2 != 0 &amp;&amp; *psz2))
<a name="l01532"></a>01532 <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l01533"></a>01533 <span class="keywordflow">else</span>
<a name="l01534"></a>01534 <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l01535"></a>01535 }
<a name="l01536"></a>01536
<a name="l01537"></a>01537 <span class="keywordflow">while</span> (*psz1 == *psz2)
<a name="l01538"></a>01538 {
<a name="l01539"></a>01539 <span class="comment">// If either has ended, then they both ended, so equal</span>
<a name="l01540"></a>01540 <span class="keywordflow">if</span> (!*psz1)
<a name="l01541"></a>01541 <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l01542"></a>01542
<a name="l01543"></a>01543 <span class="comment">// Move upwards for the next round</span>
<a name="l01544"></a>01544 psz1++;
<a name="l01545"></a>01545 psz2++;
<a name="l01546"></a>01546 }
<a name="l01547"></a>01547 <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l01548"></a>01548 }
<a name="l01549"></a>01549
<a name="l01550"></a><a class="code" href="classXMLString.html#3e63285c97be21a4b9efc9503262feac">01550</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classXMLString.html#7dbb1cb2b52525871ac83c6166d6e7f0" title="compares str1 and str2">XMLString::equals</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> str1
<a name="l01551"></a>01551 , <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> str2)
<a name="l01552"></a>01552 {
<a name="l01553"></a>01553 <span class="keyword">const</span> <span class="keywordtype">char</span>* psz1 = str1;
<a name="l01554"></a>01554 <span class="keyword">const</span> <span class="keywordtype">char</span>* psz2 = str2;
<a name="l01555"></a>01555
<a name="l01556"></a>01556 <span class="keywordflow">if</span> (psz1 == 0 || psz2 == 0) {
<a name="l01557"></a>01557 <span class="keywordflow">if</span> ((psz1 != 0 &amp;&amp; *psz1) || (psz2 != 0 &amp;&amp; *psz2))
<a name="l01558"></a>01558 <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l01559"></a>01559 <span class="keywordflow">else</span>
<a name="l01560"></a>01560 <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l01561"></a>01561 }
<a name="l01562"></a>01562
<a name="l01563"></a>01563 <span class="keywordflow">while</span> (*psz1 == *psz2)
<a name="l01564"></a>01564 {
<a name="l01565"></a>01565 <span class="comment">// If either has ended, then they both ended, so equal</span>
<a name="l01566"></a>01566 <span class="keywordflow">if</span> (!*psz1)
<a name="l01567"></a>01567 <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l01568"></a>01568
<a name="l01569"></a>01569 <span class="comment">// Move upwards for the next round</span>
<a name="l01570"></a>01570 psz1++;
<a name="l01571"></a>01571 psz2++;
<a name="l01572"></a>01572 }
<a name="l01573"></a>01573 <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l01574"></a>01574 }
<a name="l01575"></a>01575
<a name="l01576"></a><a class="code" href="classXMLString.html#507f84b43cc29c44e3275dc90c0c3c1f">01576</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classXMLString.html#41c8bc79e76b0ad3fbf5db58e0ae38a4" title="Provides the index of the last occurance of a character within a string.">XMLString::lastIndexOf</a>(<span class="keyword">const</span> XMLCh* <span class="keyword">const</span> toSearch, <span class="keyword">const</span> XMLCh ch)
<a name="l01577"></a>01577 {
<a name="l01578"></a>01578 <span class="keywordflow">return</span> <a class="code" href="classXMLString.html#41c8bc79e76b0ad3fbf5db58e0ae38a4" title="Provides the index of the last occurance of a character within a string.">XMLString::lastIndexOf</a>(ch, toSearch, <a class="code" href="classXMLString.html#0dcb95e9c1de8891e097f1500bda8c82" title="Get the length of the string.">stringLen</a>(toSearch));
<a name="l01579"></a>01579 }
<a name="l01580"></a>01580
<a name="l01581"></a><a class="code" href="classXMLString.html#99c371148eef43e41999b879243792c0">01581</a> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classXMLString.html#fc0b4d816fb010c6cb0836451ac8a3b7" title="Hashes a string given a modulus.">XMLString::hash</a>( <span class="keyword">const</span> XMLCh* <span class="keyword">const</span> tohash
<a name="l01582"></a>01582 , <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hashModulus
<a name="l01583"></a>01583 , <a class="code" href="classMemoryManager.html" title="Configurable memory manager.">MemoryManager</a>* <span class="keyword">const</span>)
<a name="l01584"></a>01584 {
<a name="l01585"></a>01585 assert(hashModulus);
<a name="l01586"></a>01586
<a name="l01587"></a>01587 <span class="keywordflow">if</span> (tohash == 0 || *tohash == 0)
<a name="l01588"></a>01588 <span class="keywordflow">return</span> 0;
<a name="l01589"></a>01589
<a name="l01590"></a>01590 <span class="keyword">const</span> XMLCh* curCh = tohash;
<a name="l01591"></a>01591 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hashVal = (<span class="keywordtype">unsigned</span> int)(*curCh++);
<a name="l01592"></a>01592
<a name="l01593"></a>01593 <span class="keywordflow">while</span> (*curCh)
<a name="l01594"></a>01594 hashVal = (hashVal * 38) + (hashVal &gt;&gt; 24) + (<span class="keywordtype">unsigned</span> int)(*curCh++);
<a name="l01595"></a>01595
<a name="l01596"></a>01596 <span class="comment">// Divide by modulus</span>
<a name="l01597"></a>01597 <span class="keywordflow">return</span> hashVal % hashModulus;
<a name="l01598"></a>01598 }
<a name="l01599"></a>01599
<a name="l01600"></a>01600 <a class="code" href="XercesDefs_8hpp.html#f03d5cb905763ef7a7bd22ab82718285">XERCES_CPP_NAMESPACE_END</a>
<a name="l01601"></a>01601
<a name="l01602"></a>01602 <span class="preprocessor">#endif</span>
</pre></div> </FONT></TD></TR></TABLE><BR>
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1" alt=""></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
Copyright &copy; 1994-2004 The Apache Software Foundation.
All Rights Reserved.
</I></FONT></TD></TR></TABLE></BODY></HTML>