ICU 4.2.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
curramt.h
Go to the documentation of this file.
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__
13 
14 #include "unicode/utypes.h"
15 
16 #if !UCONFIG_NO_FORMATTING
17 
18 #include "unicode/measure.h"
19 #include "unicode/currunit.h"
20 
27 
36  public:
47  CurrencyAmount(const Formattable& amount, const UChar* isoCode,
48  UErrorCode &ec);
49 
60  CurrencyAmount(double amount, const UChar* isoCode,
61  UErrorCode &ec);
62 
67  CurrencyAmount(const CurrencyAmount& other);
68 
74 
80  virtual UObject* clone() const;
81 
86  virtual ~CurrencyAmount();
87 
96  virtual UClassID getDynamicClassID() const;
97 
104  static UClassID U_EXPORT2 getStaticClassID();
105 
110  inline const CurrencyUnit& getCurrency() const;
111 
116  inline const UChar* getISOCurrency() const;
117 };
118 
120  return (const CurrencyUnit&) getUnit();
121 }
122 
123 inline const UChar* CurrencyAmount::getISOCurrency() const {
124  return getCurrency().getISOCurrency();
125 }
126 
128 
129 #endif // !UCONFIG_NO_FORMATTING
130 #endif // __CURRENCYAMOUNT_H__
An amount of a specified unit, consisting of a number and a Unit.
Definition: measure.h:45
C++ API: Currency Unit Information.
const UChar * getISOCurrency() const
Return the ISO currency code of this object.
Definition: curramt.h:123
const CurrencyUnit & getCurrency() const
Return the currency unit object of this object.
Definition: curramt.h:119
const MeasureUnit & getUnit() const
Return a reference to the unit of this object.
Definition: measure.h:130
A currency together with a numeric amount, such as 200 USD.
Definition: curramt.h:35
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
Definition: utypes.h:475
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:183
Measure & operator=(const Measure &other)
Assignment operator.
C++ API: MeasureUnit object.
A unit of currency, such as USD (U.S.
Definition: currunit.h:35
#define U_EXPORT2
Definition: platform.h:338
uint16_t UChar
Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned.
Definition: umachine.h:299
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API If the compiler doesn't support namespaces...
Definition: uversion.h:184
UObject is the common ICU "boilerplate" class.
Definition: uobject.h:212
Formattable objects can be passed to the Format class or its subclasses for formatting.
Definition: fmtable.h:47
const UChar * getISOCurrency() const
Return the ISO currency code of this object.
Definition: currunit.h:110
void * UClassID
UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ c...
Definition: utypes.h:339
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:593
Basic definitions for ICU, for both C and C++ APIs.
virtual UObject * clone() const =0
Return a polymorphic clone of this object.
virtual UClassID getDynamicClassID() const =0
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.