+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
/*
**********************************************************************
-* Copyright (c) 2004, International Business Machines
+* Copyright (c) 2004-2006, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
* Author: Alan Liu
#include "unicode/utypes.h"
+#if U_SHOW_CPLUSPLUS_API
+
#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
- * @draft ICU 3.0
+ * @stable ICU 3.0
*/
class U_I18N_API CurrencyAmount: public Measure {
public:
* 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.
- * @draft ICU 3.0
+ * @stable ICU 3.0
*/
- CurrencyAmount(const Formattable& amount, const UChar* isoCode,
+ CurrencyAmount(const Formattable& amount, ConstChar16Ptr isoCode,
UErrorCode &ec);
/**
* 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.
- * @draft ICU 3.0
+ * @stable ICU 3.0
*/
- CurrencyAmount(double amount, const UChar* isoCode,
+ CurrencyAmount(double amount, ConstChar16Ptr isoCode,
UErrorCode &ec);
/**
* Copy constructor
- * @draft ICU 3.0
+ * @stable ICU 3.0
*/
CurrencyAmount(const CurrencyAmount& other);
/**
* Assignment operator
- * @draft ICU 3.0
+ * @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().
- * @draft ICU 3.0
+ * @stable ICU 3.0
*/
- virtual UObject* clone() const;
+ virtual CurrencyAmount* clone() const;
/**
* Destructor
- * @draft ICU 3.0
+ * @stable ICU 3.0
*/
virtual ~CurrencyAmount();
* @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.
- * @draft ICU 3.0
+ * @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.
- * @draft ICU 3.0
+ * @stable ICU 3.0
*/
static UClassID U_EXPORT2 getStaticClassID();
/**
* Return the currency unit object of this object.
- * @draft ICU 3.0
+ * @stable ICU 3.0
*/
inline const CurrencyUnit& getCurrency() const;
/**
* Return the ISO currency code of this object.
- * @draft ICU 3.0
+ * @stable ICU 3.0
*/
- inline const UChar* getISOCurrency() const;
+ inline const char16_t* getISOCurrency() const;
};
inline const CurrencyUnit& CurrencyAmount::getCurrency() const {
return (const CurrencyUnit&) getUnit();
}
-inline const UChar* CurrencyAmount::getISOCurrency() const {
+inline const char16_t* CurrencyAmount::getISOCurrency() const {
return getCurrency().getISOCurrency();
}
U_NAMESPACE_END
#endif // !UCONFIG_NO_FORMATTING
+
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __CURRENCYAMOUNT_H__