|
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 |
|
25 U_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 */ |
|
36 class 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 |
|
66 U_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__ |