00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __CURRENCYAMOUNT_H__
00012 #define __CURRENCYAMOUNT_H__
00013
00014 #include "unicode/utypes.h"
00015
00016 #if !UCONFIG_NO_FORMATTING
00017
00018 #include "unicode/measure.h"
00019 #include "unicode/currunit.h"
00020
00021 U_NAMESPACE_BEGIN
00022
00029 class U_I18N_API CurrencyAmount: public Measure {
00030 public:
00041 CurrencyAmount(const Formattable& amount, const UChar* isoCode,
00042 UErrorCode &ec);
00043
00054 CurrencyAmount(double amount, const UChar* isoCode,
00055 UErrorCode &ec);
00056
00061 CurrencyAmount(const CurrencyAmount& other);
00062
00067 CurrencyAmount& operator=(const CurrencyAmount& other);
00068
00074 virtual UObject* clone() const;
00075
00080 virtual ~CurrencyAmount();
00081
00090 virtual UClassID getDynamicClassID() const;
00091
00098 static UClassID U_EXPORT2 getStaticClassID();
00099
00104 inline const CurrencyUnit& getCurrency() const;
00105
00110 inline const UChar* getISOCurrency() const;
00111 };
00112
00113 inline const CurrencyUnit& CurrencyAmount::getCurrency() const {
00114 return (const CurrencyUnit&) getUnit();
00115 }
00116
00117 inline const UChar* CurrencyAmount::getISOCurrency() const {
00118 return getCurrency().getISOCurrency();
00119 }
00120
00121 U_NAMESPACE_END
00122
00123 #endif // !UCONFIG_NO_FORMATTING
00124 #endif // __CURRENCYAMOUNT_H__