Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/unicode/curramt.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
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 U_SHOW_CPLUSPLUS_API | |
19 | |
20 #if !UCONFIG_NO_FORMATTING | |
21 | |
22 #include "unicode/measure.h" | |
23 #include "unicode/currunit.h" | |
24 | |
25 /** | |
26 * \file | |
27 * \brief C++ API: Currency Amount Object. | |
28 */ | |
29 | |
30 U_NAMESPACE_BEGIN | |
31 | |
32 /** | |
33 * | |
34 * A currency together with a numeric amount, such as 200 USD. | |
35 * | |
36 * @author Alan Liu | |
37 * @stable ICU 3.0 | |
38 */ | |
39 class U_I18N_API CurrencyAmount: public Measure { | |
40 public: | |
41 /** | |
42 * Construct an object with the given numeric amount and the given | |
43 * ISO currency code. | |
44 * @param amount a numeric object; amount.isNumeric() must be TRUE | |
45 * @param isoCode the 3-letter ISO 4217 currency code; must not be | |
46 * NULL and must have length 3 | |
47 * @param ec input-output error code. If the amount or the isoCode | |
48 * is invalid, then this will be set to a failing value. | |
49 * @stable ICU 3.0 | |
50 */ | |
51 CurrencyAmount(const Formattable& amount, ConstChar16Ptr isoCode, | |
52 UErrorCode &ec); | |
53 | |
54 /** | |
55 * Construct an object with the given numeric amount and the given | |
56 * ISO currency code. | |
57 * @param amount the amount of the given currency | |
58 * @param isoCode the 3-letter ISO 4217 currency code; must not be | |
59 * NULL and must have length 3 | |
60 * @param ec input-output error code. If the isoCode is invalid, | |
61 * then this will be set to a failing value. | |
62 * @stable ICU 3.0 | |
63 */ | |
64 CurrencyAmount(double amount, ConstChar16Ptr isoCode, | |
65 UErrorCode &ec); | |
66 | |
67 /** | |
68 * Copy constructor | |
69 * @stable ICU 3.0 | |
70 */ | |
71 CurrencyAmount(const CurrencyAmount& other); | |
72 | |
73 /** | |
74 * Assignment operator | |
75 * @stable ICU 3.0 | |
76 */ | |
77 CurrencyAmount& operator=(const CurrencyAmount& other); | |
78 | |
79 /** | |
80 * Return a polymorphic clone of this object. The result will | |
81 * have the same class as returned by getDynamicClassID(). | |
82 * @stable ICU 3.0 | |
83 */ | |
84 virtual CurrencyAmount* clone() const; | |
85 | |
86 /** | |
87 * Destructor | |
88 * @stable ICU 3.0 | |
89 */ | |
90 virtual ~CurrencyAmount(); | |
91 | |
92 /** | |
93 * Returns a unique class ID for this object POLYMORPHICALLY. | |
94 * This method implements a simple form of RTTI used by ICU. | |
95 * @return The class ID for this object. All objects of a given | |
96 * class have the same class ID. Objects of other classes have | |
97 * different class IDs. | |
98 * @stable ICU 3.0 | |
99 */ | |
100 virtual UClassID getDynamicClassID() const; | |
101 | |
102 /** | |
103 * Returns the class ID for this class. This is used to compare to | |
104 * the return value of getDynamicClassID(). | |
105 * @return The class ID for all objects of this class. | |
106 * @stable ICU 3.0 | |
107 */ | |
108 static UClassID U_EXPORT2 getStaticClassID(); | |
109 | |
110 /** | |
111 * Return the currency unit object of this object. | |
112 * @stable ICU 3.0 | |
113 */ | |
114 inline const CurrencyUnit& getCurrency() const; | |
115 | |
116 /** | |
117 * Return the ISO currency code of this object. | |
118 * @stable ICU 3.0 | |
119 */ | |
120 inline const char16_t* getISOCurrency() const; | |
121 }; | |
122 | |
123 inline const CurrencyUnit& CurrencyAmount::getCurrency() const { | |
124 return (const CurrencyUnit&) getUnit(); | |
125 } | |
126 | |
127 inline const char16_t* CurrencyAmount::getISOCurrency() const { | |
128 return getCurrency().getISOCurrency(); | |
129 } | |
130 | |
131 U_NAMESPACE_END | |
132 | |
133 #endif // !UCONFIG_NO_FORMATTING | |
134 | |
135 #endif /* U_SHOW_CPLUSPLUS_API */ | |
136 | |
137 #endif // __CURRENCYAMOUNT_H__ |