intl/icu/source/i18n/unicode/curramt.h

Wed, 31 Dec 2014 07:22:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:22:50 +0100
branch
TOR_BUG_3246
changeset 4
fc2d59ddac77
permissions
-rw-r--r--

Correct previous dual key logic pending first delivery installment.

     1 /*
     2 **********************************************************************
     3 * Copyright (c) 2004-2006, International Business Machines
     4 * Corporation and others.  All Rights Reserved.
     5 **********************************************************************
     6 * Author: Alan Liu
     7 * Created: April 26, 2004
     8 * Since: ICU 3.0
     9 **********************************************************************
    10 */
    11 #ifndef __CURRENCYAMOUNT_H__
    12 #define __CURRENCYAMOUNT_H__
    14 #include "unicode/utypes.h"
    16 #if !UCONFIG_NO_FORMATTING
    18 #include "unicode/measure.h"
    19 #include "unicode/currunit.h"
    21 /**
    22  * \file 
    23  * \brief C++ API: Currency Amount Object.
    24  */
    26 U_NAMESPACE_BEGIN
    28 /**
    29  *
    30  * A currency together with a numeric amount, such as 200 USD.
    31  *
    32  * @author Alan Liu
    33  * @stable ICU 3.0
    34  */
    35 class U_I18N_API CurrencyAmount: public Measure {
    36  public:
    37     /**
    38      * Construct an object with the given numeric amount and the given
    39      * ISO currency code.
    40      * @param amount a numeric object; amount.isNumeric() must be TRUE
    41      * @param isoCode the 3-letter ISO 4217 currency code; must not be
    42      * NULL and must have length 3
    43      * @param ec input-output error code. If the amount or the isoCode
    44      * is invalid, then this will be set to a failing value.
    45      * @stable ICU 3.0
    46      */
    47     CurrencyAmount(const Formattable& amount, const UChar* isoCode,
    48                    UErrorCode &ec);
    50     /**
    51      * Construct an object with the given numeric amount and the given
    52      * ISO currency code.
    53      * @param amount the amount of the given currency
    54      * @param isoCode the 3-letter ISO 4217 currency code; must not be
    55      * NULL and must have length 3
    56      * @param ec input-output error code. If the isoCode is invalid,
    57      * then this will be set to a failing value.
    58      * @stable ICU 3.0
    59      */
    60     CurrencyAmount(double amount, const UChar* isoCode,
    61                    UErrorCode &ec);
    63     /**
    64      * Copy constructor
    65      * @stable ICU 3.0
    66      */
    67     CurrencyAmount(const CurrencyAmount& other);
    69     /**
    70      * Assignment operator
    71      * @stable ICU 3.0
    72      */
    73     CurrencyAmount& operator=(const CurrencyAmount& other);
    75     /**
    76      * Return a polymorphic clone of this object.  The result will
    77      * have the same class as returned by getDynamicClassID().
    78      * @stable ICU 3.0
    79      */
    80     virtual UObject* clone() const;
    82     /**
    83      * Destructor
    84      * @stable ICU 3.0
    85      */
    86     virtual ~CurrencyAmount();
    88     /**
    89      * Returns a unique class ID for this object POLYMORPHICALLY.
    90      * This method implements a simple form of RTTI used by ICU.
    91      * @return The class ID for this object. All objects of a given
    92      * class have the same class ID.  Objects of other classes have
    93      * different class IDs.
    94      * @stable ICU 3.0
    95      */
    96     virtual UClassID getDynamicClassID() const;
    98     /**
    99      * Returns the class ID for this class. This is used to compare to
   100      * the return value of getDynamicClassID().
   101      * @return The class ID for all objects of this class.
   102      * @stable ICU 3.0
   103      */
   104     static UClassID U_EXPORT2 getStaticClassID();
   106     /**
   107      * Return the currency unit object of this object.
   108      * @stable ICU 3.0
   109      */
   110     inline const CurrencyUnit& getCurrency() const;
   112     /**
   113      * Return the ISO currency code of this object.
   114      * @stable ICU 3.0
   115      */
   116     inline const UChar* getISOCurrency() const;
   117 };
   119 inline const CurrencyUnit& CurrencyAmount::getCurrency() const {
   120     return (const CurrencyUnit&) getUnit();
   121 }
   123 inline const UChar* CurrencyAmount::getISOCurrency() const {
   124     return getCurrency().getISOCurrency();
   125 }
   127 U_NAMESPACE_END
   129 #endif // !UCONFIG_NO_FORMATTING
   130 #endif // __CURRENCYAMOUNT_H__

mercurial