Server IP : 85.214.239.14 / Your IP : 3.149.238.67 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /usr/include/unicode/ |
Upload File : |
// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ********************************************************************** * 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 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 * @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, ConstChar16Ptr 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, ConstChar16Ptr 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 CurrencyAmount* clone() const override; /** * 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 override; /** * 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 char16_t* getISOCurrency() const; }; inline const CurrencyUnit& CurrencyAmount::getCurrency() const { return (const CurrencyUnit&) getUnit(); } 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__