00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef __CURRENCYUNIT_H__
00014 #define __CURRENCYUNIT_H__
00015
00016 #include "unicode/utypes.h"
00017
00018 #if U_SHOW_CPLUSPLUS_API
00019
00020 #if !UCONFIG_NO_FORMATTING
00021
00022 #include "unicode/measunit.h"
00023
00029 U_NAMESPACE_BEGIN
00030
00039 class U_I18N_API CurrencyUnit: public MeasureUnit {
00040 public:
00045 CurrencyUnit();
00046
00057 CurrencyUnit(ConstChar16Ptr isoCode, UErrorCode &ec);
00058
00059 #ifndef U_HIDE_DRAFT_API
00060
00069 CurrencyUnit(StringPiece isoCode, UErrorCode &ec);
00070 #endif
00071
00076 CurrencyUnit(const CurrencyUnit& other);
00077
00086 CurrencyUnit(const MeasureUnit& measureUnit, UErrorCode &ec);
00087
00092 CurrencyUnit& operator=(const CurrencyUnit& other);
00093
00099 virtual CurrencyUnit* clone() const;
00100
00105 virtual ~CurrencyUnit();
00106
00115 virtual UClassID getDynamicClassID() const;
00116
00123 static UClassID U_EXPORT2 getStaticClassID();
00124
00129 inline const char16_t* getISOCurrency() const;
00130
00131 private:
00135 char16_t isoCode[4];
00136 };
00137
00138 inline const char16_t* CurrencyUnit::getISOCurrency() const {
00139 return isoCode;
00140 }
00141
00142 U_NAMESPACE_END
00143
00144 #endif // !UCONFIG_NO_FORMATTING
00145
00146 #endif
00147
00148 #endif // __CURRENCYUNIT_H__