http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Release Info

Installation
Download
Build

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

CVS Repository
Mail Archive

API Docs for SAX and DOM
 

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XMLFloat.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 2001,2004 The Apache Software Foundation.
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 /*
00018  * $Id: XMLFloat.hpp,v 1.9 2004/09/08 13:56:24 peiyongz Exp $
00019  * $Log: XMLFloat.hpp,v $
00020  * Revision 1.9  2004/09/08 13:56:24  peiyongz
00021  * Apache License Version 2.0
00022  *
00023  * Revision 1.8  2003/12/17 00:18:35  cargilld
00024  * Update to memory management so that the static memory manager (one used to call Initialize) is only for static data.
00025  *
00026  * Revision 1.7  2003/12/01 23:23:27  neilg
00027  * fix for bug 25118; thanks to Jeroen Witmond
00028  *
00029  * Revision 1.6  2003/09/23 18:16:07  peiyongz
00030  * Inplementation for Serialization/Deserialization
00031  *
00032  * Revision 1.5  2003/05/16 06:01:53  knoaman
00033  * Partial implementation of the configurable memory manager.
00034  *
00035  * Revision 1.4  2002/12/11 00:20:02  peiyongz
00036  * Doing businesss in value space. Converting out-of-bound value into special values.
00037  *
00038  * Revision 1.3  2002/11/04 15:22:05  tng
00039  * C++ Namespace Support.
00040  *
00041  * Revision 1.2  2002/02/20 18:17:02  tng
00042  * [Bug 5977] Warnings on generating apiDocs.
00043  *
00044  * Revision 1.1.1.1  2002/02/01 22:22:15  peiyongz
00045  * sane_include
00046  *
00047  * Revision 1.9  2001/11/28 15:39:26  peiyongz
00048  * return Type& for operator=
00049  *
00050  * Revision 1.8  2001/11/22 20:23:00  peiyongz
00051  * _declspec(dllimport) and inline warning C4273
00052  *
00053  * Revision 1.7  2001/11/19 21:33:42  peiyongz
00054  * Reorganization: Double/Float
00055  *
00056  * Revision 1.6  2001/10/26 16:37:46  peiyongz
00057  * Add thread safe code
00058  *
00059  * Revision 1.4  2001/09/27 14:54:20  peiyongz
00060  * DTV Reorganization: derived from XMLAbstractDoubleFloat
00061  *
00062  * Revision 1.3  2001/08/29 19:03:03  peiyongz
00063  * Bugzilla# 2816:on AIX 4.2, xlC 3 r ev.1, Compilation error on inline method
00064  *
00065  * Revision 1.2  2001/07/31 13:48:29  peiyongz
00066  * fValue removed
00067  *
00068  * Revision 1.1  2001/07/26 20:41:37  peiyongz
00069  * XMLFloat
00070  *
00071  *
00072  */
00073 
00074 #ifndef XML_FLOAT_HPP
00075 #define XML_FLOAT_HPP
00076 
00077 #include <xercesc/util/XMLAbstractDoubleFloat.hpp>
00078 
00079 XERCES_CPP_NAMESPACE_BEGIN
00080 
00081 class  XMLFloat : public XMLAbstractDoubleFloat
00082 {
00083 public:
00084 
00097     XMLFloat(const XMLCh* const strValue,
00098              MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
00099 
00100     ~XMLFloat();
00101 
00113     inline static int            compareValues(const XMLFloat* const lValue
00114                                              , const XMLFloat* const rValue);
00115 
00116     /***
00117      * Support for Serialization/De-serialization
00118      ***/
00119     DECL_XSERIALIZABLE(XMLFloat)
00120 
00121     XMLFloat(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
00122 
00123 protected:
00124 
00125     void                  checkBoundary(const XMLCh* const strValue);
00126 
00127 private:
00128     //
00129     // Unimplemented
00130     //
00131     // copy ctor
00132     // assignment ctor
00133     //
00134     XMLFloat(const XMLFloat& toCopy);
00135     XMLFloat& operator=(const XMLFloat& toAssign);
00136 
00137 };
00138 
00139 inline int XMLFloat::compareValues(const XMLFloat* const lValue
00140                                  , const XMLFloat* const rValue)
00141 {
00142     return XMLAbstractDoubleFloat::compareValues((const XMLAbstractDoubleFloat* const) lValue,
00143                                                  (const XMLAbstractDoubleFloat* const) rValue 
00144                                                  , ((XMLAbstractDoubleFloat*)lValue)->getMemoryManager());
00145 }
00146 
00147 XERCES_CPP_NAMESPACE_END
00148 
00149 #endif


Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.