| Index: source/i18n/unicode/measure.h
|
| diff --git a/source/i18n/unicode/measure.h b/source/i18n/unicode/measure.h
|
| index 6b7a0497b476bd290f03d19fe0e8f8591fc761bc..434ea880edad2f4c0e3d98f0d7969618aa4cbdae 100644
|
| --- a/source/i18n/unicode/measure.h
|
| +++ b/source/i18n/unicode/measure.h
|
| @@ -1,6 +1,6 @@
|
| /*
|
| **********************************************************************
|
| -* Copyright (c) 2004-2006, International Business Machines
|
| +* Copyright (c) 2004-2014, International Business Machines
|
| * Corporation and others. All Rights Reserved.
|
| **********************************************************************
|
| * Author: Alan Liu
|
| @@ -29,16 +29,12 @@ 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.
|
| + * unit, such as feet or meters.
|
| *
|
| - * <p>Measure objects are parsed and formatted by subclasses of
|
| - * MeasureFormat.
|
| + * <p>Measure objects are formatted by MeasureFormat.
|
| *
|
| * <p>Measure objects are immutable.
|
| *
|
| - * <p>This is an abstract class.
|
| - *
|
| * @author Alan Liu
|
| * @stable ICU 3.0
|
| */
|
| @@ -74,7 +70,7 @@ class U_I18N_API Measure: public UObject {
|
| * have the same class as returned by getDynamicClassID().
|
| * @stable ICU 3.0
|
| */
|
| - virtual UObject* clone() const = 0;
|
| + virtual UObject* clone() const;
|
|
|
| /**
|
| * Destructor
|
| @@ -103,6 +99,32 @@ class U_I18N_API Measure: public UObject {
|
| */
|
| inline const MeasureUnit& getUnit() const;
|
|
|
| + /**
|
| + * Return the class ID for this class. This is useful only for comparing to
|
| + * a return value from getDynamicClassID(). For example:
|
| + * <pre>
|
| + * . Base* polymorphic_pointer = createPolymorphicObject();
|
| + * . if (polymorphic_pointer->getDynamicClassID() ==
|
| + * . erived::getStaticClassID()) ...
|
| + * </pre>
|
| + * @return The class ID for all objects of this class.
|
| + * @draft ICU 53
|
| + */
|
| + static UClassID U_EXPORT2 getStaticClassID(void);
|
| +
|
| + /**
|
| + * Returns a unique class ID POLYMORPHICALLY. Pure virtual override. This
|
| + * method is to implement a simple version of RTTI, since not all C++
|
| + * compilers support genuine RTTI. Polymorphic operator==() and clone()
|
| + * methods call this method.
|
| + *
|
| + * @return The class ID for this object. All objects of a
|
| + * given class have the same class ID. Objects of
|
| + * other classes have different class IDs.
|
| + * @draft ICU 53
|
| + */
|
| + virtual UClassID getDynamicClassID(void) const;
|
| +
|
| protected:
|
| /**
|
| * Default constructor.
|
|
|