source: NonGTP/Xerces/xerces/doc/html/apiDocs/XMLAbstractDoubleFloat_8hpp-source.html @ 358

Revision 358, 33.0 KB checked in by bittner, 19 years ago (diff)

xerces added

Line 
1<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>XMLAbstractDoubleFloat.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>
2  <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>
3
4  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
5
6  <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>
7  <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>
8  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
9  <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>
10  <A href="http://xml.apache.org/dist/xerces-c/" onMouseOut="rolloverOff('side-ext-18');" onMouseOver="rolloverOn('side-ext-18');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-18" onLoad="rolloverLoad('side-ext-18','../graphics/ext-18-label-2.jpg','../graphics/ext-18-label-3.jpg');" src="../graphics/ext-18-label-3.jpg" vspace="0" width="120"></A><BR>
11  <A href="../build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build" 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>
12
13  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
14  <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> 
15  <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>
16  <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> 
17
18  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR> 
19  <A href="../ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-68');" onMouseOver="rolloverOn('side-ext-68');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-68" onLoad="rolloverLoad('side-ext-68','../graphics/ext-68-label-2.jpg','../graphics/ext-68-label-3.jpg');" src="../graphics/ext-68-label-3.jpg" vspace="0" width="120"></A><BR>
20
21  <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>
22  <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>
23
24  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
25
26  <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>
27  <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> 
28  <A href="../pdf.html" onMouseOut="rolloverOff('side-pdf');" onMouseOver="rolloverOn('side-pdf');"><IMG alt="PDF Document" border="0" height="12" hspace="0" name="side-pdf" onLoad="rolloverLoad('side-pdf','../graphics/pdf-label-2.jpg','../graphics/pdf-label-3.jpg');" src="../graphics/pdf-label-3.jpg" vspace="0" width="120"></A><BR>
29
30  <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
31
32  <A href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xerces/c/" onMouseOut="rolloverOff('side-ext-100');" onMouseOver="rolloverOn('side-ext-100');"><IMG alt="CVS Repository" border="0" height="12" hspace="0" name="side-ext-100" onLoad="rolloverLoad('side-ext-100','../graphics/ext-100-label-2.jpg','../graphics/ext-100-label-3.jpg');" src="../graphics/ext-100-label-3.jpg" vspace="0" width="120"></A><BR>
33
34  <A href="http://marc.theaimsgroup.com/?l=xerces-c-dev" onMouseOut="rolloverOff('side-ext-102');" onMouseOver="rolloverOn('side-ext-102');"><IMG alt="Mail Archive" border="0" height="12" hspace="0" name="side-ext-102" onLoad="rolloverLoad('side-ext-102','../graphics/ext-102-label-2.jpg','../graphics/ext-102-label-3.jpg');" src="../graphics/ext-102-label-3.jpg" vspace="0" width="120"></A><BR>
35
36
37<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>
38    <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">
39
40            <P>
41<!-- Generated by Doxygen 1.2.14 -->
42<center>
43<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
44<hr><h1>XMLAbstractDoubleFloat.hpp</h1><a href="XMLAbstractDoubleFloat_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>
4500002 <font class="comment"> * Copyright 2001,2004 The Apache Software Foundation.</font>
4600003 <font class="comment"> * </font>
4700004 <font class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</font>
4800005 <font class="comment"> * you may not use this file except in compliance with the License.</font>
4900006 <font class="comment"> * You may obtain a copy of the License at</font>
5000007 <font class="comment"> * </font>
5100008 <font class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</font>
5200009 <font class="comment"> * </font>
5300010 <font class="comment"> * Unless required by applicable law or agreed to in writing, software</font>
5400011 <font class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</font>
5500012 <font class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</font>
5600013 <font class="comment"> * See the License for the specific language governing permissions and</font>
5700014 <font class="comment"> * limitations under the License.</font>
5800015 <font class="comment"> */</font>
5900016
6000017 <font class="comment">/*</font>
6100018 <font class="comment"> * $Id: XMLAbstractDoubleFloat.hpp,v 1.24 2004/09/09 20:09:30 peiyongz Exp $</font>
6200019 <font class="comment"> * $Log: XMLAbstractDoubleFloat.hpp,v $</font>
6300020 <font class="comment"> * Revision 1.24  2004/09/09 20:09:30  peiyongz</font>
6400021 <font class="comment"> * getDataOverflowed()</font>
6500022 <font class="comment"> *</font>
6600023 <font class="comment"> * Revision 1.23  2004/09/08 13:56:23  peiyongz</font>
6700024 <font class="comment"> * Apache License Version 2.0</font>
6800025 <font class="comment"> *</font>
6900026 <font class="comment"> * Revision 1.22  2004/09/02 19:08:09  cargilld</font>
7000027 <font class="comment"> * Fix API Doc warning message</font>
7100028 <font class="comment"> *</font>
7200029 <font class="comment"> * Revision 1.21  2004/08/11 16:50:47  peiyongz</font>
7300030 <font class="comment"> * getValue()/isDataConverted()</font>
7400031 <font class="comment"> *</font>
7500032 <font class="comment"> * Revision 1.20  2004/01/29 11:48:46  cargilld</font>
7600033 <font class="comment"> * Code cleanup changes to get rid of various compiler diagnostic messages.</font>
7700034 <font class="comment"> *</font>
7800035 <font class="comment"> * Revision 1.19  2004/01/13 19:50:56  peiyongz</font>
7900036 <font class="comment"> * remove parseContent()</font>
8000037 <font class="comment"> *</font>
8100038 <font class="comment"> * Revision 1.17  2003/12/17 00:18:35  cargilld</font>
8200039 <font class="comment"> * Update to memory management so that the static memory manager (one used to call Initialize) is only for static data.</font>
8300040 <font class="comment"> *</font>
8400041 <font class="comment"> * Revision 1.16  2003/12/11 21:38:12  peiyongz</font>
8500042 <font class="comment"> * support for Canonical Representation for Datatype</font>
8600043 <font class="comment"> *</font>
8700044 <font class="comment"> * Revision 1.15  2003/10/15 14:50:01  peiyongz</font>
8800045 <font class="comment"> * Bugzilla#22821: locale-sensitive function used to validate 'double' type, patch</font>
8900046 <font class="comment"> * from jsweeney@spss.com (Jeff Sweeney)</font>
9000047 <font class="comment"> *</font>
9100048 <font class="comment"> * Revision 1.14  2003/09/23 18:16:07  peiyongz</font>
9200049 <font class="comment"> * Inplementation for Serialization/Deserialization</font>
9300050 <font class="comment"> *</font>
9400051 <font class="comment"> * Revision 1.13  2003/05/18 14:02:05  knoaman</font>
9500052 <font class="comment"> * Memory manager implementation: pass per instance manager.</font>
9600053 <font class="comment"> *</font>
9700054 <font class="comment"> * Revision 1.12  2003/05/16 06:01:53  knoaman</font>
9800055 <font class="comment"> * Partial implementation of the configurable memory manager.</font>
9900056 <font class="comment"> *</font>
10000057 <font class="comment"> * Revision 1.11  2003/05/15 19:07:46  knoaman</font>
10100058 <font class="comment"> * Partial implementation of the configurable memory manager.</font>
10200059 <font class="comment"> *</font>
10300060 <font class="comment"> * Revision 1.10  2003/05/09 15:13:46  peiyongz</font>
10400061 <font class="comment"> * Deprecated toString() in XMLNumber family</font>
10500062 <font class="comment"> *</font>
10600063 <font class="comment"> * Revision 1.9  2003/03/10 20:55:58  peiyongz</font>
10700064 <font class="comment"> * Schema Errata E2-40 double/float</font>
10800065 <font class="comment"> *</font>
10900066 <font class="comment"> * Revision 1.8  2003/02/02 23:54:43  peiyongz</font>
11000067 <font class="comment"> * getFormattedString() added to return original and converted value.</font>
11100068 <font class="comment"> *</font>
11200069 <font class="comment"> * Revision 1.7  2003/01/30 21:55:22  tng</font>
11300070 <font class="comment"> * Performance: create getRawData which is similar to toString but return the internal data directly, user is not required to delete the returned memory.</font>
11400071 <font class="comment"> *</font>
11500072 <font class="comment"> * Revision 1.6  2002/12/11 00:20:02  peiyongz</font>
11600073 <font class="comment"> * Doing businesss in value space. Converting out-of-bound value into special values.</font>
11700074 <font class="comment"> *</font>
11800075 <font class="comment"> * Revision 1.5  2002/11/04 15:22:05  tng</font>
11900076 <font class="comment"> * C++ Namespace Support.</font>
12000077 <font class="comment"> *</font>
12100078 <font class="comment"> * Revision 1.4  2002/03/06 19:13:12  peiyongz</font>
12200079 <font class="comment"> * Patch: more valid lexcial representation for positive/negative zero</font>
12300080 <font class="comment"> *</font>
12400081 <font class="comment"> * Revision 1.3  2002/03/01 18:47:37  peiyongz</font>
12500082 <font class="comment"> * fix: more valid lexcial representation forms for "neural zero"</font>
12600083 <font class="comment"> *</font>
12700084 <font class="comment"> * Revision 1.2  2002/02/20 18:17:02  tng</font>
12800085 <font class="comment"> * [Bug 5977] Warnings on generating apiDocs.</font>
12900086 <font class="comment"> *</font>
13000087 <font class="comment"> * Revision 1.1.1.1  2002/02/01 22:22:14  peiyongz</font>
13100088 <font class="comment"> * sane_include</font>
13200089 <font class="comment"> *</font>
13300090 <font class="comment"> * Revision 1.4  2001/11/28 15:39:26  peiyongz</font>
13400091 <font class="comment"> * return Type&amp; for operator=</font>
13500092 <font class="comment"> *</font>
13600093 <font class="comment"> * Revision 1.3  2001/11/22 21:39:00  peiyongz</font>
13700094 <font class="comment"> * Allow "0.0" to be a valid lexcial representation of ZERO.</font>
13800095 <font class="comment"> *</font>
13900096 <font class="comment"> * Revision 1.2  2001/11/22 20:23:00  peiyongz</font>
14000097 <font class="comment"> * _declspec(dllimport) and inline warning C4273</font>
14100098 <font class="comment"> *</font>
14200099 <font class="comment"> * Revision 1.1  2001/11/19 21:33:42  peiyongz</font>
14300100 <font class="comment"> * Reorganization: Double/Float</font>
14400101 <font class="comment"> *</font>
14500102 <font class="comment"> *</font>
14600103 <font class="comment"> */</font>
14700104
14800105 <font class="preprocessor">#ifndef XML_ABSTRACT_DOUBLE_FLOAT_HPP</font>
14900106 <font class="preprocessor"></font><font class="preprocessor">#define XML_ABSTRACT_DOUBLE_FLOAT_HPP</font>
15000107 <font class="preprocessor"></font>
15100108 <font class="preprocessor">#include &lt;<a class="code" href="XMLNumber_8hpp.html">xercesc/util/XMLNumber.hpp</a>&gt;</font>
15200109 <font class="preprocessor">#include &lt;<a class="code" href="PlatformUtils_8hpp.html">xercesc/util/PlatformUtils.hpp</a>&gt;</font>
15300110
15400111 <a class="code" href="XercesDefs_8hpp.html#a2">XERCES_CPP_NAMESPACE_BEGIN</a>
15500112
15600113 <font class="comment">/***</font>
15700114 <font class="comment"> * 3.2.5.1 Lexical representation</font>
15800115 <font class="comment"> *</font>
15900116 <font class="comment"> *   double values have a lexical representation consisting of a mantissa followed,</font>
16000117 <font class="comment"> *   optionally, by the character "E" or "e", followed by an exponent.</font>
16100118 <font class="comment"> *</font>
16200119 <font class="comment"> *   The exponent ·must· be an integer.</font>
16300120 <font class="comment"> *   The mantissa must be a decimal number.</font>
16400121 <font class="comment"> *   The representations for exponent and mantissa must follow the lexical rules</font>
16500122 <font class="comment"> *   for integer and decimal.</font>
16600123 <font class="comment"> *</font>
16700124 <font class="comment"> *   If the "E" or "e" and the following exponent are omitted,</font>
16800125 <font class="comment"> *   an exponent value of 0 is assumed.</font>
16900126 <font class="comment">***/</font>
17000127
17100128 <font class="comment">/***</font>
17200129 <font class="comment"> * 3.2.4.1 Lexical representation</font>
17300130 <font class="comment"> *</font>
17400131 <font class="comment"> *   float values have a lexical representation consisting of a mantissa followed,</font>
17500132 <font class="comment"> *   optionally, by the character "E" or "e", followed by an exponent.</font>
17600133 <font class="comment"> *</font>
17700134 <font class="comment"> *   The exponent ·must· be an integer.</font>
17800135 <font class="comment"> *   The mantissa must be a decimal number.</font>
17900136 <font class="comment"> *   The representations for exponent and mantissa must follow the lexical rules</font>
18000137 <font class="comment"> *   for integer and decimal.</font>
18100138 <font class="comment"> *</font>
18200139 <font class="comment"> *   If the "E" or "e" and the following exponent are omitted,</font>
18300140 <font class="comment"> *   an exponent value of 0 is assumed.</font>
18400141 <font class="comment">***/</font>
18500142
186<a name="l00143"></a><a class="code" href="classXMLAbstractDoubleFloat.html">00143</a> <font class="keyword">class </font><a class="code" href="XercesDefs_8hpp.html#a8"></a> <a class="code" href="classXMLAbstractDoubleFloat.html">XMLAbstractDoubleFloat</a> : <font class="keyword">public</font> <a class="code" href="classXMLNumber.html">XMLNumber</a>
18700144 {
18800145 <font class="keyword">public</font>:
18900146
190<a name="l00147"></a><a class="code" href="classXMLAbstractDoubleFloat.html#s5">00147</a>     <font class="keyword">enum</font> LiteralType
19100148     {
19200149         NegINF,
19300150         PosINF,
19400151         NaN,
19500152         SpecialTypeNum,
19600153         Normal
19700154     };
19800155
19900156     <font class="keyword">virtual</font> ~<a class="code" href="classXMLAbstractDoubleFloat.html">XMLAbstractDoubleFloat</a>();
20000157
20100158     <font class="keyword">static</font> XMLCh* getCanonicalRepresentation
20200159                         (
20300160                           <font class="keyword">const</font> XMLCh*         <font class="keyword">const</font> rawData
20400161                         ,       <a class="code" href="classMemoryManager.html">MemoryManager</a>* <font class="keyword">const</font> memMgr = <a class="code" href="classXMLPlatformUtils.html#z488_4">XMLPlatformUtils::fgMemoryManager</a>
20500162                         );
20600163
20700169     <font class="keyword">virtual</font> XMLCh*        <a class="code" href="classXMLNumber.html#a1">toString</a>() <font class="keyword">const</font>;
20800170     
20900171     <font class="keyword">virtual</font> XMLCh*        <a class="code" href="classXMLNumber.html#a2">getRawData</a>() <font class="keyword">const</font>;
21000172
21100173     <font class="keyword">virtual</font> <font class="keyword">const</font> XMLCh*  <a class="code" href="classXMLNumber.html#a3">getFormattedString</a>() <font class="keyword">const</font>;
21200174
21300175     <font class="keyword">virtual</font> <font class="keywordtype">int</font>           <a class="code" href="classXMLNumber.html#a4">getSign</a>() <font class="keyword">const</font>;
21400176
21500177     <a class="code" href="classMemoryManager.html">MemoryManager</a>*        getMemoryManager() <font class="keyword">const</font>;
21600178
21700179     <font class="keyword">inline</font>  <font class="keywordtype">bool</font>          isDataConverted()  <font class="keyword">const</font>;
21800180
21900181     <font class="keyword">inline</font>  <font class="keywordtype">bool</font>          isDataOverflowed()  <font class="keyword">const</font>;
22000182
22100183     <font class="keyword">inline</font>  <font class="keywordtype">double</font>        getValue() <font class="keyword">const</font>;
22200184
22300185     <font class="comment">/***</font>
22400186 <font class="comment">     *</font>
22500187 <font class="comment">     * The decimal point delimiter for the schema double/float type is</font>
22600188 <font class="comment">     * defined to be a period and is not locale-specific. So, it must</font>
22700189 <font class="comment">     * be replaced with the local-specific delimiter before converting</font>
22800190 <font class="comment">     * from string to double/float.</font>
22900191 <font class="comment">     *</font>
23000192 <font class="comment">     ***/</font>
23100193     <font class="keywordtype">void</font>                  normalizeDecimalPoint(<font class="keywordtype">char</font>* <font class="keyword">const</font> toNormal);
23200194
23300195     <font class="comment">/***</font>
23400196 <font class="comment">     * Support for Serialization/De-serialization</font>
23500197 <font class="comment">     ***/</font>
23600198     DECL_XSERIALIZABLE(<a class="code" href="classXMLAbstractDoubleFloat.html">XMLAbstractDoubleFloat</a>)
23700199
23800200 <font class="keyword">protected</font>:
23900201
24000202     <font class="comment">//</font>
24100203     <font class="comment">// To be used by derived class exclusively</font>
24200204     <font class="comment">//</font>
24300205     <a class="code" href="classXMLAbstractDoubleFloat.html">XMLAbstractDoubleFloat</a>(<a class="code" href="classMemoryManager.html">MemoryManager</a>* <font class="keyword">const</font> manager = <a class="code" href="classXMLPlatformUtils.html#z488_4">XMLPlatformUtils::fgMemoryManager</a>);
24400206
24500207     <font class="keywordtype">void</font>                  init(<font class="keyword">const</font> XMLCh* <font class="keyword">const</font> strValue);
24600208
24700222     <font class="keyword">static</font> <font class="keywordtype">int</font>            compareValues(<font class="keyword">const</font> <a class="code" href="classXMLAbstractDoubleFloat.html">XMLAbstractDoubleFloat</a>* <font class="keyword">const</font> lValue
24800223                                       , <font class="keyword">const</font> <a class="code" href="classXMLAbstractDoubleFloat.html">XMLAbstractDoubleFloat</a>* <font class="keyword">const</font> rValue
24900224                                       , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <font class="keyword">const</font> manager);
25000225
25100226     <font class="comment">//</font>
25200227     <font class="comment">// to be overwritten by derived class</font>
25300228     <font class="comment">//</font>
25400229     <font class="keyword">virtual</font> <font class="keywordtype">void</font>          checkBoundary(<font class="keyword">const</font> XMLCh* <font class="keyword">const</font> strValue) = 0;
25500230
25600231 <font class="keyword">private</font>:
25700232     <font class="comment">//</font>
25800233     <font class="comment">// Unimplemented</font>
25900234     <font class="comment">//</font>
26000235     <font class="comment">// copy ctor</font>
26100236     <font class="comment">// assignment ctor</font>
26200237     <font class="comment">//</font>
26300238     <a class="code" href="classXMLAbstractDoubleFloat.html">XMLAbstractDoubleFloat</a>(<font class="keyword">const</font> <a class="code" href="classXMLAbstractDoubleFloat.html">XMLAbstractDoubleFloat</a>&amp; toCopy);
26400239     <a class="code" href="classXMLAbstractDoubleFloat.html">XMLAbstractDoubleFloat</a>&amp; operator=(<font class="keyword">const</font> <a class="code" href="classXMLAbstractDoubleFloat.html">XMLAbstractDoubleFloat</a>&amp; toAssign);
26500240
26600241     <font class="keywordtype">void</font>                  normalizeZero(XMLCh* <font class="keyword">const</font>);
26700242
26800243     <font class="keyword">inline</font> <font class="keywordtype">bool</font>           isSpecialValue() <font class="keyword">const</font>;
26900244
27000245     <font class="keyword">static</font> <font class="keywordtype">int</font>            compareSpecial(<font class="keyword">const</font> <a class="code" href="classXMLAbstractDoubleFloat.html">XMLAbstractDoubleFloat</a>* <font class="keyword">const</font> specialValue                                       
27100246                                        , <a class="code" href="classMemoryManager.html">MemoryManager</a>* <font class="keyword">const</font> manager);
27200247
27300248     <font class="keywordtype">void</font>                  formatString();
27400249
27500250 <font class="keyword">protected</font>:
276<a name="l00251"></a><a class="code" href="classXMLAbstractDoubleFloat.html#n0">00251</a>     <font class="keywordtype">double</font>                  fValue;
277<a name="l00252"></a><a class="code" href="classXMLAbstractDoubleFloat.html#n1">00252</a>     LiteralType             fType;
278<a name="l00253"></a><a class="code" href="classXMLAbstractDoubleFloat.html#n2">00253</a>     <font class="keywordtype">bool</font>                    fDataConverted;
279<a name="l00254"></a><a class="code" href="classXMLAbstractDoubleFloat.html#n3">00254</a>     <font class="keywordtype">bool</font>                    fDataOverflowed;
28000255
28100256 <font class="keyword">private</font>:
28200257     <font class="keywordtype">int</font>                     fSign;
28300258     XMLCh*                  fRawData;
28400259
28500260     <font class="comment">//</font>
28600261     <font class="comment">// If the original string is not lexcially the same as the five</font>
28700262     <font class="comment">// special value notations, and the value is converted to</font>
28800263     <font class="comment">// special value due underlying platform restriction on data</font>
28900264     <font class="comment">// representation, then this string is constructed and</font>
29000265     <font class="comment">// takes the form "original_string (special_value_notation)", </font>
29100266     <font class="comment">// otherwise it is empty.</font>
29200267     <font class="comment">//</font>
29300268     XMLCh*                  fFormattedString;
29400269     <a class="code" href="classMemoryManager.html">MemoryManager</a>*          fMemoryManager;
29500270
29600271 };
29700272
29800273 <font class="keyword">inline</font> <font class="keywordtype">bool</font> XMLAbstractDoubleFloat::isSpecialValue()<font class="keyword"> const</font>
29900274 <font class="keyword"></font>{
30000275     <font class="keywordflow">return</font> (<a class="code" href="classXMLAbstractDoubleFloat.html#n1">fType</a> &lt; <a class="code" href="classXMLAbstractDoubleFloat.html#s5s3">SpecialTypeNum</a>);
30100276 }
30200277
303<a name="l00278"></a><a class="code" href="classXMLAbstractDoubleFloat.html#a5">00278</a> <font class="keyword">inline</font> <a class="code" href="classMemoryManager.html">MemoryManager</a>* <a class="code" href="classXMLAbstractDoubleFloat.html#a5">XMLAbstractDoubleFloat::getMemoryManager</a>()<font class="keyword"> const</font>
30400279 <font class="keyword"></font>{
30500280     <font class="keywordflow">return</font> fMemoryManager;
30600281 }
30700282
308<a name="l00283"></a><a class="code" href="classXMLAbstractDoubleFloat.html#a6">00283</a> <font class="keyword">inline</font> <font class="keywordtype">bool</font> <a class="code" href="classXMLAbstractDoubleFloat.html#a6">XMLAbstractDoubleFloat::isDataConverted</a>()<font class="keyword"> const</font>
30900284 <font class="keyword"></font>{
31000285     <font class="keywordflow">return</font> <a class="code" href="classXMLAbstractDoubleFloat.html#n2">fDataConverted</a>;
31100286 }
31200287
313<a name="l00288"></a><a class="code" href="classXMLAbstractDoubleFloat.html#a7">00288</a> <font class="keyword">inline</font> <font class="keywordtype">bool</font> <a class="code" href="classXMLAbstractDoubleFloat.html#a7">XMLAbstractDoubleFloat::isDataOverflowed</a>()<font class="keyword"> const</font>
31400289 <font class="keyword"></font>{
31500290     <font class="keywordflow">return</font> <a class="code" href="classXMLAbstractDoubleFloat.html#n3">fDataOverflowed</a>;
31600291 }
31700292
318<a name="l00293"></a><a class="code" href="classXMLAbstractDoubleFloat.html#a8">00293</a> <font class="keyword">inline</font> <font class="keywordtype">double</font> <a class="code" href="classXMLAbstractDoubleFloat.html#a8">XMLAbstractDoubleFloat::getValue</a>()<font class="keyword"> const</font>
31900294 <font class="keyword"></font>{
32000295     <font class="keywordflow">return</font> <a class="code" href="classXMLAbstractDoubleFloat.html#n0">fValue</a>;
32100296 }
32200297
32300298 <a class="code" href="XercesDefs_8hpp.html#a3">XERCES_CPP_NAMESPACE_END</a>
32400299
32500300 <font class="preprocessor">#endif</font>
326</pre></div>    </FONT></TD></TR></TABLE><BR>
327</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>
328              Copyright &copy; 1994-2004 The Apache Software Foundation.
329              All Rights Reserved.
330            </I></FONT></TD></TR></TABLE></BODY></HTML>
Note: See TracBrowser for help on using the repository browser.