Index: icu46/source/i18n/unicode/measure.h |
=================================================================== |
--- icu46/source/i18n/unicode/measure.h (revision 0) |
+++ icu46/source/i18n/unicode/measure.h (revision 0) |
@@ -0,0 +1,137 @@ |
+/* |
+********************************************************************** |
+* Copyright (c) 2004-2006, International Business Machines |
+* Corporation and others. All Rights Reserved. |
+********************************************************************** |
+* Author: Alan Liu |
+* Created: April 26, 2004 |
+* Since: ICU 3.0 |
+********************************************************************** |
+*/ |
+#ifndef __MEASURE_H__ |
+#define __MEASURE_H__ |
+ |
+#include "unicode/utypes.h" |
+ |
+/** |
+ * \file |
+ * \brief C++ API: MeasureUnit object. |
+ */ |
+ |
+#if !UCONFIG_NO_FORMATTING |
+ |
+#include "unicode/fmtable.h" |
+ |
+U_NAMESPACE_BEGIN |
+ |
+class MeasureUnit; |
+ |
+/** |
+ * An amount of a specified unit, consisting of a number and a Unit. |
+ * For example, a length measure consists of a number and a length |
+ * unit, such as feet or meters. This is an abstract class. |
+ * Subclasses specify a concrete Unit type. |
+ * |
+ * <p>Measure objects are parsed and formatted by subclasses of |
+ * MeasureFormat. |
+ * |
+ * <p>Measure objects are immutable. |
+ * |
+ * <p>This is an abstract class. |
+ * |
+ * @author Alan Liu |
+ * @stable ICU 3.0 |
+ */ |
+class U_I18N_API Measure: public UObject { |
+ public: |
+ /** |
+ * Construct an object with the given numeric amount and the given |
+ * unit. After this call, the caller must not delete the given |
+ * unit object. |
+ * @param number a numeric object; amount.isNumeric() must be TRUE |
+ * @param adoptedUnit the unit object, which must not be NULL |
+ * @param ec input-output error code. If the amount or the unit |
+ * is invalid, then this will be set to a failing value. |
+ * @stable ICU 3.0 |
+ */ |
+ Measure(const Formattable& number, MeasureUnit* adoptedUnit, |
+ UErrorCode& ec); |
+ |
+ /** |
+ * Copy constructor |
+ * @stable ICU 3.0 |
+ */ |
+ Measure(const Measure& other); |
+ |
+ /** |
+ * Assignment operator |
+ * @stable ICU 3.0 |
+ */ |
+ Measure& operator=(const Measure& other); |
+ |
+ /** |
+ * Return a polymorphic clone of this object. The result will |
+ * have the same class as returned by getDynamicClassID(). |
+ * @stable ICU 3.0 |
+ */ |
+ virtual UObject* clone() const = 0; |
+ |
+ /** |
+ * Destructor |
+ * @stable ICU 3.0 |
+ */ |
+ virtual ~Measure(); |
+ |
+ /** |
+ * Equality operator. Return true if this object is equal |
+ * to the given object. |
+ * @stable ICU 3.0 |
+ */ |
+ UBool operator==(const UObject& other) const; |
+ |
+ /** |
+ * Return a reference to the numeric value of this object. The |
+ * numeric value may be of any numeric type supported by |
+ * Formattable. |
+ * @stable ICU 3.0 |
+ */ |
+ inline const Formattable& getNumber() const; |
+ |
+ /** |
+ * Return a reference to the unit of this object. |
+ * @stable ICU 3.0 |
+ */ |
+ inline const MeasureUnit& getUnit() const; |
+ |
+ protected: |
+ /** |
+ * Default constructor. |
+ * @stable ICU 3.0 |
+ */ |
+ Measure(); |
+ |
+ private: |
+ /** |
+ * The numeric value of this object, e.g. 2.54 or 100. |
+ */ |
+ Formattable number; |
+ |
+ /** |
+ * The unit of this object, e.g., "millimeter" or "JPY". This is |
+ * owned by this object. |
+ */ |
+ MeasureUnit* unit; |
+}; |
+ |
+inline const Formattable& Measure::getNumber() const { |
+ return number; |
+} |
+ |
+inline const MeasureUnit& Measure::getUnit() const { |
+ return *unit; |
+} |
+ |
+U_NAMESPACE_END |
+ |
+#endif // !UCONFIG_NO_FORMATTING |
+#endif // __MEASURE_H__ |
Property changes on: icu46/source/i18n/unicode/measure.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |