00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef __CURRENCYAMOUNT_H__
00014 #define __CURRENCYAMOUNT_H__
00015
00016 #include "unicode/utypes.h"
00017
00018 #if U_SHOW_CPLUSPLUS_API
00019
00020 #if !UCONFIG_NO_FORMATTING
00021
00022 #include "unicode/measure.h"
00023 #include "unicode/currunit.h"
00024
00030 U_NAMESPACE_BEGIN
00031
00039 class U_I18N_API CurrencyAmount: public Measure {
00040 public:
00051 CurrencyAmount(const Formattable& amount, ConstChar16Ptr isoCode,
00052 UErrorCode &ec);
00053
00064 CurrencyAmount(double amount, ConstChar16Ptr isoCode,
00065 UErrorCode &ec);
00066
00071 CurrencyAmount(const CurrencyAmount& other);
00072
00077 CurrencyAmount& operator=(const CurrencyAmount& other);
00078
00084 virtual CurrencyAmount* clone() const;
00085
00090 virtual ~CurrencyAmount();
00091
00100 virtual UClassID getDynamicClassID() const;
00101
00108 static UClassID U_EXPORT2 getStaticClassID();
00109
00114 inline const CurrencyUnit& getCurrency() const;
00115
00120 inline const char16_t* getISOCurrency() const;
00121 };
00122
00123 inline const CurrencyUnit& CurrencyAmount::getCurrency() const {
00124 return (const CurrencyUnit&) getUnit();
00125 }
00126
00127 inline const char16_t* CurrencyAmount::getISOCurrency() const {
00128 return getCurrency().getISOCurrency();
00129 }
00130
00131 U_NAMESPACE_END
00132
00133 #endif // !UCONFIG_NO_FORMATTING
00134
00135 #endif
00136
00137 #endif // __CURRENCYAMOUNT_H__