LCOV - code coverage report
Current view: top level - intl/icu/source/i18n/unicode - curramt.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 4 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 2 0.0 %
Legend: Lines: hit not hit

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

Generated by: LCOV version 1.13