00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef __MEASURE_H__
00014 #define __MEASURE_H__
00015
00016 #include "unicode/utypes.h"
00017
00018 #if U_SHOW_CPLUSPLUS_API
00019
00025 #if !UCONFIG_NO_FORMATTING
00026
00027 #include "unicode/fmtable.h"
00028
00029 U_NAMESPACE_BEGIN
00030
00031 class MeasureUnit;
00032
00045 class U_I18N_API Measure: public UObject {
00046 public:
00057 Measure(const Formattable& number, MeasureUnit* adoptedUnit,
00058 UErrorCode& ec);
00059
00064 Measure(const Measure& other);
00065
00070 Measure& operator=(const Measure& other);
00071
00077 virtual Measure* clone() const;
00078
00083 virtual ~Measure();
00084
00090 UBool operator==(const UObject& other) const;
00091
00098 inline const Formattable& getNumber() const;
00099
00104 inline const MeasureUnit& getUnit() const;
00105
00117 static UClassID U_EXPORT2 getStaticClassID(void);
00118
00130 virtual UClassID getDynamicClassID(void) const;
00131
00132 protected:
00137 Measure();
00138
00139 private:
00143 Formattable number;
00144
00149 MeasureUnit* unit;
00150 };
00151
00152 inline const Formattable& Measure::getNumber() const {
00153 return number;
00154 }
00155
00156 inline const MeasureUnit& Measure::getUnit() const {
00157 return *unit;
00158 }
00159
00160 U_NAMESPACE_END
00161
00162 #endif // !UCONFIG_NO_FORMATTING
00163
00164 #endif
00165
00166 #endif // __MEASURE_H__