ICU 66.0.1  66.0.1
ucurr.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 **********************************************************************
5 * Copyright (c) 2002-2016, International Business Machines
6 * Corporation and others. All Rights Reserved.
7 **********************************************************************
8 */
9 #ifndef _UCURR_H_
10 #define _UCURR_H_
11 
12 #include "unicode/utypes.h"
13 #include "unicode/uenum.h"
14 
35 #if !UCONFIG_NO_FORMATTING
36 
55 #ifndef U_HIDE_DEPRECATED_API
56 
61 #endif // U_HIDE_DEPRECATED_API
62 };
65 
81 U_STABLE int32_t U_EXPORT2
82 ucurr_forLocale(const char* locale,
83  UChar* buff,
84  int32_t buffCapacity,
85  UErrorCode* ec);
86 
93 typedef enum UCurrNameStyle {
100 
107 
118 
119 #if !UCONFIG_NO_SERVICE
120 
123 typedef const void* UCurrRegistryKey;
124 
136 U_STABLE UCurrRegistryKey U_EXPORT2
137 ucurr_register(const UChar* isoCode,
138  const char* locale,
139  UErrorCode* status);
151 U_STABLE UBool U_EXPORT2
153 #endif /* UCONFIG_NO_SERVICE */
154 
172 U_STABLE const UChar* U_EXPORT2
173 ucurr_getName(const UChar* currency,
174  const char* locale,
175  UCurrNameStyle nameStyle,
176  UBool* isChoiceFormat,
177  int32_t* len,
178  UErrorCode* ec);
179 
197 U_STABLE const UChar* U_EXPORT2
198 ucurr_getPluralName(const UChar* currency,
199  const char* locale,
200  UBool* isChoiceFormat,
201  const char* pluralCount,
202  int32_t* len,
203  UErrorCode* ec);
204 
222 U_STABLE int32_t U_EXPORT2
223 ucurr_getDefaultFractionDigits(const UChar* currency,
224  UErrorCode* ec);
225 
243 U_STABLE int32_t U_EXPORT2
245  const UCurrencyUsage usage,
246  UErrorCode* ec);
247 
258 U_STABLE double U_EXPORT2
259 ucurr_getRoundingIncrement(const UChar* currency,
260  UErrorCode* ec);
261 
272 U_STABLE double U_EXPORT2
274  const UCurrencyUsage usage,
275  UErrorCode* ec);
276 
283 typedef enum UCurrCurrencyType {
319 
329 U_STABLE UEnumeration * U_EXPORT2
330 ucurr_openISOCurrencies(uint32_t currType, UErrorCode *pErrorCode);
331 
358 U_STABLE UBool U_EXPORT2
359 ucurr_isAvailable(const UChar* isoCode,
360  UDate from,
361  UDate to,
362  UErrorCode* errorCode);
363 
378 U_STABLE int32_t U_EXPORT2
379 ucurr_countCurrencies(const char* locale,
380  UDate date,
381  UErrorCode* ec);
382 
402 U_STABLE int32_t U_EXPORT2
403 ucurr_forLocaleAndDate(const char* locale,
404  UDate date,
405  int32_t index,
406  UChar* buff,
407  int32_t buffCapacity,
408  UErrorCode* ec);
409 
426 U_STABLE UEnumeration* U_EXPORT2
427 ucurr_getKeywordValuesForLocale(const char* key,
428  const char* locale,
429  UBool commonlyUsed,
430  UErrorCode* status);
431 
441 U_STABLE int32_t U_EXPORT2
442 ucurr_getNumericCode(const UChar* currency);
443 
444 #endif /* #if !UCONFIG_NO_FORMATTING */
445 
446 #endif
UCurrRegistryKey ucurr_register(const UChar *isoCode, const char *locale, UErrorCode *status)
Register an (existing) ISO 4217 currency code for the given locale.
double ucurr_getRoundingIncrementForUsage(const UChar *currency, const UCurrencyUsage usage, UErrorCode *ec)
Returns the rounding increment for the given currency, or 0.0 if no rounding is done by the currency ...
Select all ISO-4217 currency codes.
Definition: ucurr.h:288
UCurrCurrencyType
Selector constants for ucurr_openCurrencies().
Definition: ucurr.h:283
int32_t ucurr_countCurrencies(const char *locale, UDate date, UErrorCode *ec)
Finds the number of valid currency codes for the given locale and date.
int32_t ucurr_forLocale(const char *locale, UChar *buff, int32_t buffCapacity, UErrorCode *ec)
Finds a currency code for the given locale.
double UDate
Date and Time data type.
Definition: utypes.h:203
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition: uenum.h:43
UBool ucurr_unregister(UCurrRegistryKey key, UErrorCode *status)
Unregister the previously-registered currency definitions using the URegistryKey returned from ucurr_...
int32_t ucurr_getNumericCode(const UChar *currency)
Returns the ISO 4217 numeric code for the currency.
Selector for getName() indicating the narrow currency symbol.
Definition: ucurr.h:116
double ucurr_getRoundingIncrement(const UChar *currency, UErrorCode *ec)
Returns the rounding increment for the given currency, or 0.0 if no rounding is done by the currency...
int32_t ucurr_getDefaultFractionDigitsForUsage(const UChar *currency, const UCurrencyUsage usage, UErrorCode *ec)
Returns the number of the number of fraction digits that should be displayed for the given currency w...
int32_t ucurr_forLocaleAndDate(const char *locale, UDate date, int32_t index, UChar *buff, int32_t buffCapacity, UErrorCode *ec)
Finds a currency code for the given locale and date.
Select only ISO-4217 commonly used currency codes.
Definition: ucurr.h:297
UCurrencyUsage
Currency Usage used for Decimal Format.
Definition: ucurr.h:41
Selector for ucurr_getName indicating a symbolic name for a currency, such as "$" for USD...
Definition: ucurr.h:99
a setting to specify currency usage which determines currency digit and rounding for cash usage...
Definition: ucurr.h:54
const UChar * ucurr_getPluralName(const UChar *currency, const char *locale, UBool *isChoiceFormat, const char *pluralCount, int32_t *len, UErrorCode *ec)
Returns the plural name for the given currency in the given locale.
uint16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:378
One higher than the last enum UCurrencyUsage constant.
Definition: ucurr.h:60
#define INT32_MAX
The largest value a 32 bit signed integer can hold.
Definition: umachine.h:207
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
UEnumeration * ucurr_getKeywordValuesForLocale(const char *key, const char *locale, UBool commonlyUsed, UErrorCode *status)
Given a key and a locale, returns an array of string values in a preferred order that would make a di...
Select only non-deprecated ISO-4217 codes.
Definition: ucurr.h:317
Select ISO-4217 uncommon currency codes.
Definition: ucurr.h:305
UEnumeration * ucurr_openISOCurrencies(uint32_t currType, UErrorCode *pErrorCode)
Provides a UEnumeration object for listing ISO-4217 codes.
C API: String Enumeration.
const UChar * ucurr_getName(const UChar *currency, const char *locale, UCurrNameStyle nameStyle, UBool *isChoiceFormat, int32_t *len, UErrorCode *ec)
Returns the display name for the given currency in the given locale.
Basic definitions for ICU, for both C and C++ APIs.
const void * UCurrRegistryKey
Definition: ucurr.h:123
UCurrNameStyle
Selector constants for ucurr_getName().
Definition: ucurr.h:93
Select only deprecated ISO-4217 codes.
Definition: ucurr.h:311
UBool ucurr_isAvailable(const UChar *isoCode, UDate from, UDate to, UErrorCode *errorCode)
Queries if the given ISO 4217 3-letter code is available on the specified date range.
int32_t ucurr_getDefaultFractionDigits(const UChar *currency, UErrorCode *ec)
Returns the number of the number of fraction digits that should be displayed for the given currency...
a setting to specify currency usage which determines currency digit and rounding for standard usage...
Definition: ucurr.h:48
Selector for ucurr_getName indicating the long name for a currency, such as "US Dollar" for USD...
Definition: ucurr.h:106
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition: umachine.h:111
int8_t UBool
The ICU boolean type.
Definition: umachine.h:261