1/* 2********************************************************************** 3* Copyright (c) 2004-2006, International Business Machines 4* Corporation and others. All Rights Reserved. 5********************************************************************** 6* Author: Alan Liu 7* Created: April 26, 2004 8* Since: ICU 3.0 9********************************************************************** 10*/ 11#ifndef __MEASUREUNIT_H__ 12#define __MEASUREUNIT_H__ 13 14#include "unicode/utypes.h" 15 16#if !UCONFIG_NO_FORMATTING 17 18#include "unicode/fmtable.h" 19 20/** 21 * \file 22 * \brief C++ API: A unit for measuring a quantity. 23 */ 24 25U_NAMESPACE_BEGIN 26 27/** 28 * A unit such as length, mass, volume, currency, etc. A unit is 29 * coupled with a numeric amount to produce a Measure. 30 * 31 * <p>This is an abstract class. 32 * 33 * @author Alan Liu 34 * @stable ICU 3.0 35 */ 36class U_I18N_API MeasureUnit: public UObject { 37 public: 38 /** 39 * Return a polymorphic clone of this object. The result will 40 * have the same class as returned by getDynamicClassID(). 41 * @stable ICU 3.0 42 */ 43 virtual UObject* clone() const = 0; 44 45 /** 46 * Destructor 47 * @stable ICU 3.0 48 */ 49 virtual ~MeasureUnit(); 50 51 /** 52 * Equality operator. Return true if this object is equal 53 * to the given object. 54 * @stable ICU 3.0 55 */ 56 virtual UBool operator==(const UObject& other) const = 0; 57 58 protected: 59 /** 60 * Default constructor. 61 * @stable ICU 3.0 62 */ 63 MeasureUnit(); 64}; 65 66U_NAMESPACE_END 67 68// NOTE: There is no measunit.cpp. For implementation, see measure.cpp. [alan] 69 70#endif // !UCONFIG_NO_FORMATTING 71#endif // __MEASUREUNIT_H__ 72