Index: icu46/source/i18n/unicode/curramt.h |
=================================================================== |
--- icu46/source/i18n/unicode/curramt.h (revision 0) |
+++ icu46/source/i18n/unicode/curramt.h (revision 0) |
@@ -0,0 +1,130 @@ |
+/* |
+********************************************************************** |
+* Copyright (c) 2004-2006, International Business Machines |
+* Corporation and others. All Rights Reserved. |
+********************************************************************** |
+* Author: Alan Liu |
+* Created: April 26, 2004 |
+* Since: ICU 3.0 |
+********************************************************************** |
+*/ |
+#ifndef __CURRENCYAMOUNT_H__ |
+#define __CURRENCYAMOUNT_H__ |
+ |
+#include "unicode/utypes.h" |
+ |
+#if !UCONFIG_NO_FORMATTING |
+ |
+#include "unicode/measure.h" |
+#include "unicode/currunit.h" |
+ |
+/** |
+ * \file |
+ * \brief C++ API: Currency Amount Object. |
+ */ |
+ |
+U_NAMESPACE_BEGIN |
+ |
+/** |
+ * |
+ * A currency together with a numeric amount, such as 200 USD. |
+ * |
+ * @author Alan Liu |
+ * @stable ICU 3.0 |
+ */ |
+class U_I18N_API CurrencyAmount: public Measure { |
+ public: |
+ /** |
+ * Construct an object with the given numeric amount and the given |
+ * ISO currency code. |
+ * @param amount a numeric object; amount.isNumeric() must be TRUE |
+ * @param isoCode the 3-letter ISO 4217 currency code; must not be |
+ * NULL and must have length 3 |
+ * @param ec input-output error code. If the amount or the isoCode |
+ * is invalid, then this will be set to a failing value. |
+ * @stable ICU 3.0 |
+ */ |
+ CurrencyAmount(const Formattable& amount, const UChar* isoCode, |
+ UErrorCode &ec); |
+ |
+ /** |
+ * Construct an object with the given numeric amount and the given |
+ * ISO currency code. |
+ * @param amount the amount of the given currency |
+ * @param isoCode the 3-letter ISO 4217 currency code; must not be |
+ * NULL and must have length 3 |
+ * @param ec input-output error code. If the isoCode is invalid, |
+ * then this will be set to a failing value. |
+ * @stable ICU 3.0 |
+ */ |
+ CurrencyAmount(double amount, const UChar* isoCode, |
+ UErrorCode &ec); |
+ |
+ /** |
+ * Copy constructor |
+ * @stable ICU 3.0 |
+ */ |
+ CurrencyAmount(const CurrencyAmount& other); |
+ |
+ /** |
+ * Assignment operator |
+ * @stable ICU 3.0 |
+ */ |
+ CurrencyAmount& operator=(const CurrencyAmount& other); |
+ |
+ /** |
+ * Return a polymorphic clone of this object. The result will |
+ * have the same class as returned by getDynamicClassID(). |
+ * @stable ICU 3.0 |
+ */ |
+ virtual UObject* clone() const; |
+ |
+ /** |
+ * Destructor |
+ * @stable ICU 3.0 |
+ */ |
+ virtual ~CurrencyAmount(); |
+ |
+ /** |
+ * Returns a unique class ID for this object POLYMORPHICALLY. |
+ * This method implements a simple form of RTTI used by ICU. |
+ * @return The class ID for this object. All objects of a given |
+ * class have the same class ID. Objects of other classes have |
+ * different class IDs. |
+ * @stable ICU 3.0 |
+ */ |
+ virtual UClassID getDynamicClassID() const; |
+ |
+ /** |
+ * Returns the class ID for this class. This is used to compare to |
+ * the return value of getDynamicClassID(). |
+ * @return The class ID for all objects of this class. |
+ * @stable ICU 3.0 |
+ */ |
+ static UClassID U_EXPORT2 getStaticClassID(); |
+ |
+ /** |
+ * Return the currency unit object of this object. |
+ * @stable ICU 3.0 |
+ */ |
+ inline const CurrencyUnit& getCurrency() const; |
+ |
+ /** |
+ * Return the ISO currency code of this object. |
+ * @stable ICU 3.0 |
+ */ |
+ inline const UChar* getISOCurrency() const; |
+}; |
+ |
+inline const CurrencyUnit& CurrencyAmount::getCurrency() const { |
+ return (const CurrencyUnit&) getUnit(); |
+} |
+ |
+inline const UChar* CurrencyAmount::getISOCurrency() const { |
+ return getCurrency().getISOCurrency(); |
+} |
+ |
+U_NAMESPACE_END |
+ |
+#endif // !UCONFIG_NO_FORMATTING |
+#endif // __CURRENCYAMOUNT_H__ |
Property changes on: icu46/source/i18n/unicode/curramt.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |