]>
Commit | Line | Data |
---|---|---|
374ca955 A |
1 | /* |
2 | ********************************************************************** | |
73c04bcf | 3 | * Copyright (c) 2004-2006, International Business Machines |
374ca955 A |
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 | ||
73c04bcf A |
20 | /** |
21 | * \file | |
22 | * \brief C++ API: A unit for measuring a quantity. | |
23 | */ | |
24 | ||
374ca955 A |
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 | |
73c04bcf | 34 | * @stable ICU 3.0 |
374ca955 A |
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(). | |
73c04bcf | 41 | * @stable ICU 3.0 |
374ca955 A |
42 | */ |
43 | virtual UObject* clone() const = 0; | |
44 | ||
45 | /** | |
46 | * Destructor | |
73c04bcf | 47 | * @stable ICU 3.0 |
374ca955 A |
48 | */ |
49 | virtual ~MeasureUnit(); | |
50 | ||
51 | /** | |
52 | * Equality operator. Return true if this object is equal | |
53 | * to the given object. | |
73c04bcf | 54 | * @stable ICU 3.0 |
374ca955 A |
55 | */ |
56 | virtual UBool operator==(const UObject& other) const = 0; | |
57 | ||
58 | protected: | |
59 | /** | |
60 | * Default constructor. | |
73c04bcf | 61 | * @stable ICU 3.0 |
374ca955 A |
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__ |