You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by tn...@apache.org on 2003/01/30 22:55:23 UTC
cvs commit: xml-xerces/c/src/xercesc/util XMLAbstractDoubleFloat.cpp XMLAbstractDoubleFloat.hpp XMLBigDecimal.cpp XMLBigDecimal.hpp XMLBigInteger.hpp XMLDateTime.cpp XMLDateTime.hpp XMLNumber.hpp
tng 2003/01/30 13:55:22
Modified: c/src/xercesc/util XMLAbstractDoubleFloat.cpp
XMLAbstractDoubleFloat.hpp XMLBigDecimal.cpp
XMLBigDecimal.hpp XMLBigInteger.hpp XMLDateTime.cpp
XMLDateTime.hpp XMLNumber.hpp
Log:
Performance: create getRawData which is similar to toString but return the internal data directly, user is not required to delete the returned memory.
Revision Changes Path
1.8 +8 -1 xml-xerces/c/src/xercesc/util/XMLAbstractDoubleFloat.cpp
Index: XMLAbstractDoubleFloat.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLAbstractDoubleFloat.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XMLAbstractDoubleFloat.cpp 11 Dec 2002 00:20:02 -0000 1.7
+++ XMLAbstractDoubleFloat.cpp 30 Jan 2003 21:55:22 -0000 1.8
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.8 2003/01/30 21:55:22 tng
+ * Performance: create getRawData which is similar to toString but return the internal data directly, user is not required to delete the returned memory.
+ *
* Revision 1.7 2002/12/11 00:20:02 peiyongz
* Doing businesss in value space. Converting out-of-bound value into special values.
*
@@ -179,6 +182,10 @@
return XMLString::replicate(fRawData);
}
+XMLCh* XMLAbstractDoubleFloat::getRawData() const
+{
+ return fRawData;
+}
int XMLAbstractDoubleFloat::getSign() const
{
return fSign;
1.7 +6 -1 xml-xerces/c/src/xercesc/util/XMLAbstractDoubleFloat.hpp
Index: XMLAbstractDoubleFloat.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLAbstractDoubleFloat.hpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- XMLAbstractDoubleFloat.hpp 11 Dec 2002 00:20:02 -0000 1.6
+++ XMLAbstractDoubleFloat.hpp 30 Jan 2003 21:55:22 -0000 1.7
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.7 2003/01/30 21:55:22 tng
+ * Performance: create getRawData which is similar to toString but return the internal data directly, user is not required to delete the returned memory.
+ *
* Revision 1.6 2002/12/11 00:20:02 peiyongz
* Doing businesss in value space. Converting out-of-bound value into special values.
*
@@ -145,6 +148,8 @@
virtual ~XMLAbstractDoubleFloat();
virtual XMLCh* toString() const;
+
+ virtual XMLCh* getRawData() const;
virtual int getSign() const;
1.4 +8 -0 xml-xerces/c/src/xercesc/util/XMLBigDecimal.cpp
Index: XMLBigDecimal.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLBigDecimal.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- XMLBigDecimal.cpp 4 Nov 2002 15:22:05 -0000 1.3
+++ XMLBigDecimal.cpp 30 Jan 2003 21:55:22 -0000 1.4
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.4 2003/01/30 21:55:22 tng
+ * Performance: create getRawData which is similar to toString but return the internal data directly, user is not required to delete the returned memory.
+ *
* Revision 1.3 2002/11/04 15:22:05 tng
* C++ Namespace Support.
*
@@ -354,6 +357,11 @@
}
return;
+}
+
+XMLCh* XMLBigDecimal::getRawData() const
+{
+ return fRawData;
}
//
1.5 +3 -1 xml-xerces/c/src/xercesc/util/XMLBigDecimal.hpp
Index: XMLBigDecimal.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLBigDecimal.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XMLBigDecimal.hpp 4 Nov 2002 15:22:05 -0000 1.4
+++ XMLBigDecimal.hpp 30 Jan 2003 21:55:22 -0000 1.5
@@ -105,6 +105,8 @@
virtual XMLCh* toString() const;
+
+ virtual XMLCh* getRawData() const;
virtual int getSign() const;
1.5 +62 -50 xml-xerces/c/src/xercesc/util/XMLBigInteger.hpp
Index: XMLBigInteger.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLBigInteger.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XMLBigInteger.hpp 4 Nov 2002 15:22:05 -0000 1.4
+++ XMLBigInteger.hpp 30 Jan 2003 21:55:22 -0000 1.5
@@ -70,22 +70,22 @@
{
public:
- /**
- * Constructs a newly allocated <code>XMLBigInteger</code> object that
- * represents the value represented by the string. The string is
- * converted to an int value as if by the <code>valueOf</code> method.
- *
- * @param strValue the <code>String</code> to be converted to an
- * <code>XMLBigInteger</code>.
- * @exception NumberFormatException if the <code>String</code> does not
- * contain a parsable XMLBigInteger.
- */
+ /**
+ * Constructs a newly allocated <code>XMLBigInteger</code> object that
+ * represents the value represented by the string. The string is
+ * converted to an int value as if by the <code>valueOf</code> method.
+ *
+ * @param strValue the <code>String</code> to be converted to an
+ * <code>XMLBigInteger</code>.
+ * @exception NumberFormatException if the <code>String</code> does not
+ * contain a parsable XMLBigInteger.
+ */
- XMLBigInteger(const XMLCh* const strValue);
+ XMLBigInteger(const XMLCh* const strValue);
- ~XMLBigInteger();
+ ~XMLBigInteger();
- XMLBigInteger(const XMLBigInteger& toCopy);
+ XMLBigInteger(const XMLBigInteger& toCopy);
static void parseBigInteger(const XMLCh* const toConvert
, XMLCh* const retBuffer
@@ -101,66 +101,73 @@
int getTotalDigit() const;
- /**
- * Return a copy of the fMagnitue.
+ /**
+ * Return a copy of the fMagnitue.
* A leading sign is ALWAYS in place and the caller of this method
* is responsible for the de-allocation of the memory.
- */
+ */
inline XMLCh* toString() const;
-
- /**
- * Compares this object to the specified object.
- * The result is <code>true</code> if and only if the argument is not
- * <code>null</code> and is an <code>XMLBigInteger</code> object that contains
- * the same <code>int</code> value as this object.
- *
- * @param toCompare the object to compare with.
- * @return <code>true</code> if the objects are the same;
- * <code>false</code> otherwise.
- */
- bool operator==(const XMLBigInteger& toCompare) const;
-
- /**
- * Returns the signum function of this number (i.e., -1, 0 or 1 as
- * the value of this number is negative, zero or positive).
- */
- int getSign() const;
+
+ /**
+ * Return a copy of the fMagnitue.
+ * This is similar to toString, except the internal buffer is returned directly
+ * Caller is not required to delet the returned memory.
+ */
+ inline XMLCh* getRawData() const;
+
+ /**
+ * Compares this object to the specified object.
+ * The result is <code>true</code> if and only if the argument is not
+ * <code>null</code> and is an <code>XMLBigInteger</code> object that contains
+ * the same <code>int</code> value as this object.
+ *
+ * @param toCompare the object to compare with.
+ * @return <code>true</code> if the objects are the same;
+ * <code>false</code> otherwise.
+ */
+ bool operator==(const XMLBigInteger& toCompare) const;
+
+ /**
+ * Returns the signum function of this number (i.e., -1, 0 or 1 as
+ * the value of this number is negative, zero or positive).
+ */
+ int getSign() const;
int intValue() const;
private:
- void setSign(int);
+ void setSign(int);
- /*
- * The number is internally stored in "minimal" sign-fMagnitude format
- * (i.e., no BigIntegers have a leading zero byte in their magnitudes).
- * Zero is represented with a signum of 0 (and a zero-length fMagnitude).
- * Thus, there is exactly one representation for each value.
- */
+ /*
+ * The number is internally stored in "minimal" sign-fMagnitude format
+ * (i.e., no BigIntegers have a leading zero byte in their magnitudes).
+ * Zero is represented with a signum of 0 (and a zero-length fMagnitude).
+ * Thus, there is exactly one representation for each value.
+ */
// -----------------------------------------------------------------------
// Private data members
//
// fSign
// to represent the sign of the number.
//
- // fMagnitude
+ // fMagnitude
// the buffer holding the number.
//
- // fRawData
- // to preserve the original string used to construct this object,
- // needed for pattern matching.
- //
+ // fRawData
+ // to preserve the original string used to construct this object,
+ // needed for pattern matching.
+ //
// -----------------------------------------------------------------------
int fSign;
- XMLCh* fMagnitude; //null terminated
- XMLCh* fRawData;
+ XMLCh* fMagnitude; //null terminated
+ XMLCh* fRawData;
};
inline int XMLBigInteger::getSign() const
-{
+{
return fSign;
}
@@ -177,6 +184,11 @@
inline void XMLBigInteger::setSign(int newSign)
{
fSign = newSign;
+}
+
+inline XMLCh* XMLBigInteger::getRawData() const
+{
+ return fRawData;
}
//
1.5 +14 -1 xml-xerces/c/src/xercesc/util/XMLDateTime.cpp
Index: XMLDateTime.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLDateTime.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XMLDateTime.cpp 28 Nov 2002 20:39:27 -0000 1.4
+++ XMLDateTime.cpp 30 Jan 2003 21:55:22 -0000 1.5
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.5 2003/01/30 21:55:22 tng
+ * Performance: create getRawData which is similar to toString but return the internal data directly, user is not required to delete the returned memory.
+ *
* Revision 1.4 2002/11/28 20:39:27 peiyongz
* Schema Errata: E2-23 seconds part shall have at least one digit after the dot
* if it appears.
@@ -502,6 +505,15 @@
XMLCh* retBuf = XMLString::replicate(fBuffer);
return retBuf;
+}
+
+//
+// We may simply return the handle to fBuffer
+//
+XMLCh* XMLDateTime::getRawData() const
+{
+ assertBuffer();
+ return fBuffer;
}
int XMLDateTime::getSign() const
1.3 +6 -1 xml-xerces/c/src/xercesc/util/XMLDateTime.hpp
Index: XMLDateTime.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLDateTime.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XMLDateTime.hpp 4 Nov 2002 15:22:05 -0000 1.2
+++ XMLDateTime.hpp 30 Jan 2003 21:55:22 -0000 1.3
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.3 2003/01/30 21:55:22 tng
+ * Performance: create getRawData which is similar to toString but return the internal data directly, user is not required to delete the returned memory.
+ *
* Revision 1.2 2002/11/04 15:22:05 tng
* C++ Namespace Support.
*
@@ -147,6 +150,8 @@
// -----------------------------------------------------------------------
virtual XMLCh* toString() const;
+
+ virtual XMLCh* getRawData() const;
virtual int getSign() const;
1.3 +13 -1 xml-xerces/c/src/xercesc/util/XMLNumber.hpp
Index: XMLNumber.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLNumber.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XMLNumber.hpp 4 Nov 2002 15:22:05 -0000 1.2
+++ XMLNumber.hpp 30 Jan 2003 21:55:22 -0000 1.3
@@ -57,6 +57,9 @@
/*
* $Id$
* $Log$
+ * Revision 1.3 2003/01/30 21:55:22 tng
+ * Performance: create getRawData which is similar to toString but return the internal data directly, user is not required to delete the returned memory.
+ *
* Revision 1.2 2002/11/04 15:22:05 tng
* C++ Namespace Support.
*
@@ -91,6 +94,15 @@
* de-allocation of the memory.
*/
virtual XMLCh* toString() const = 0;
+
+ /**
+ * Return string representation of the decimal value.
+ * A decimal point will be included as necessary.
+ * Similar to toString above, but the internal buffer is
+ * returned directly, user is not required to delete
+ * the returned buffer
+ */
+ virtual XMLCh* getRawData() const = 0;
/**
* Returns the sign of this number
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org