/
usr
/
include
/
unicode
/
/usr/include/unicode
mkdir
upload
Name
Size
Mode
Actions
alphaindex.h
27118
0644
edit
dl
rm
appendable.h
8694
0644
edit
dl
rm
basictz.h
9491
0644
edit
dl
rm
brkiter.h
28464
0644
edit
dl
rm
bytestream.h
11037
0644
edit
dl
rm
bytestrie.h
21266
0644
edit
dl
rm
bytestriebuilder.h
7248
0644
edit
dl
rm
calendar.h
108278
0644
edit
dl
rm
caniter.h
7611
0644
edit
dl
rm
casemap.h
25933
0644
edit
dl
rm
char16ptr.h
7393
0644
edit
dl
rm
chariter.h
24632
0644
edit
dl
rm
choicfmt.h
24482
0644
edit
dl
rm
coleitr.h
14094
0644
edit
dl
rm
coll.h
57581
0644
edit
dl
rm
compactdecimalformat.h
7047
0644
edit
dl
rm
curramt.h
3851
0644
edit
dl
rm
currpinf.h
7473
0644
edit
dl
rm
currunit.h
4094
0644
edit
dl
rm
datefmt.h
41641
0644
edit
dl
rm
dbbi.h
1223
0644
edit
dl
rm
dcfmtsym.h
20897
0644
edit
dl
rm
decimfmt.h
89278
0644
edit
dl
rm
docmain.h
7142
0644
edit
dl
rm
dtfmtsym.h
38609
0644
edit
dl
rm
dtintrv.h
3930
0644
edit
dl
rm
dtitvfmt.h
47634
0644
edit
dl
rm
dtitvinf.h
19064
0644
edit
dl
rm
dtptngen.h
26419
0644
edit
dl
rm
dtrule.h
8888
0644
edit
dl
rm
edits.h
21237
0644
edit
dl
rm
enumset.h
2130
0644
edit
dl
rm
errorcode.h
4956
0644
edit
dl
rm
fieldpos.h
8899
0644
edit
dl
rm
filteredbrk.h
5501
0644
edit
dl
rm
fmtable.h
25007
0644
edit
dl
rm
format.h
12802
0644
edit
dl
rm
formattedvalue.h
9987
0644
edit
dl
rm
fpositer.h
3109
0644
edit
dl
rm
gender.h
3408
0644
edit
dl
rm
gregocal.h
32472
0644
edit
dl
rm
icudataver.h
1051
0644
edit
dl
rm
icuplug.h
12166
0644
edit
dl
rm
idna.h
13000
0644
edit
dl
rm
listformatter.h
9493
0644
edit
dl
rm
localebuilder.h
11502
0644
edit
dl
rm
localematcher.h
25147
0644
edit
dl
rm
localpointer.h
19829
0644
edit
dl
rm
locdspnm.h
7292
0644
edit
dl
rm
locid.h
48821
0644
edit
dl
rm
measfmt.h
11603
0644
edit
dl
rm
measunit.h
97563
0644
edit
dl
rm
measure.h
4423
0644
edit
dl
rm
messagepattern.h
34521
0644
edit
dl
rm
msgfmt.h
45168
0644
edit
dl
rm
normalizer2.h
34851
0644
edit
dl
rm
normlzr.h
31682
0644
edit
dl
rm
nounit.h
2754
0644
edit
dl
rm
numberformatter.h
86276
0644
edit
dl
rm
numberrangeformatter.h
28617
0644
edit
dl
rm
numfmt.h
50950
0644
edit
dl
rm
numsys.h
7500
0644
edit
dl
rm
parseerr.h
3155
0644
edit
dl
rm
parsepos.h
5692
0644
edit
dl
rm
platform.h
28751
0644
edit
dl
rm
plurfmt.h
25800
0644
edit
dl
rm
plurrule.h
18780
0644
edit
dl
rm
ptypes.h
3577
0644
edit
dl
rm
putil.h
6487
0644
edit
dl
rm
rbbi.h
27218
0644
edit
dl
rm
rbnf.h
49899
0644
edit
dl
rm
rbtz.h
15979
0644
edit
dl
rm
regex.h
86367
0644
edit
dl
rm
region.h
9404
0644
edit
dl
rm
reldatefmt.h
22801
0644
edit
dl
rm
rep.h
9599
0644
edit
dl
rm
resbund.h
18503
0644
edit
dl
rm
schriter.h
6475
0644
edit
dl
rm
scientificnumberformatter.h
6553
0644
edit
dl
rm
search.h
22757
0644
edit
dl
rm
selfmt.h
14643
0644
edit
dl
rm
simpleformatter.h
12888
0644
edit
dl
rm
simpletz.h
46527
0644
edit
dl
rm
smpdtfmt.h
72713
0644
edit
dl
rm
sortkey.h
11444
0644
edit
dl
rm
std_string.h
1076
0644
edit
dl
rm
strenum.h
10158
0644
edit
dl
rm
stringoptions.h
5926
0644
edit
dl
rm
stringpiece.h
10597
0644
edit
dl
rm
stringtriebuilder.h
15698
0644
edit
dl
rm
stsearch.h
21810
0644
edit
dl
rm
symtable.h
4374
0644
edit
dl
rm
tblcoll.h
37489
0644
edit
dl
rm
timezone.h
42005
0644
edit
dl
rm
tmunit.h
3461
0644
edit
dl
rm
tmutamt.h
5015
0644
edit
dl
rm
tmutfmt.h
8042
0644
edit
dl
rm
translit.h
67400
0644
edit
dl
rm
tzfmt.h
43916
0644
edit
dl
rm
tznames.h
17252
0644
edit
dl
rm
tzrule.h
36215
0644
edit
dl
rm
tztrans.h
6271
0644
edit
dl
rm
ubidi.h
91711
0644
edit
dl
rm
ubiditransform.h
12950
0644
edit
dl
rm
ubrk.h
24547
0644
edit
dl
rm
ucal.h
58265
0644
edit
dl
rm
ucasemap.h
15546
0644
edit
dl
rm
ucat.h
5484
0644
edit
dl
rm
uchar.h
144630
0644
edit
dl
rm
ucharstrie.h
23120
0644
edit
dl
rm
ucharstriebuilder.h
7378
0644
edit
dl
rm
uchriter.h
13521
0644
edit
dl
rm
uclean.h
11474
0644
edit
dl
rm
ucnv.h
85085
0644
edit
dl
rm
ucnvsel.h
6283
0644
edit
dl
rm
ucnv_cb.h
6748
0644
edit
dl
rm
ucnv_err.h
21492
0644
edit
dl
rm
ucol.h
62939
0644
edit
dl
rm
ucoleitr.h
9684
0644
edit
dl
rm
uconfig.h
12356
0644
edit
dl
rm
ucpmap.h
5663
0644
edit
dl
rm
ucptrie.h
23002
0644
edit
dl
rm
ucsdet.h
15018
0644
edit
dl
rm
ucurr.h
16507
0644
edit
dl
rm
udat.h
62851
0644
edit
dl
rm
udata.h
15930
0644
edit
dl
rm
udateintervalformat.h
10995
0644
edit
dl
rm
udatpg.h
27447
0644
edit
dl
rm
udisplaycontext.h
6029
0644
edit
dl
rm
uenum.h
7970
0644
edit
dl
rm
ufieldpositer.h
4461
0644
edit
dl
rm
uformattable.h
11198
0644
edit
dl
rm
uformattedvalue.h
12413
0644
edit
dl
rm
ugender.h
2052
0644
edit
dl
rm
uidna.h
34169
0644
edit
dl
rm
uiter.h
23319
0644
edit
dl
rm
uldnames.h
10702
0644
edit
dl
rm
ulistformatter.h
11086
0644
edit
dl
rm
uloc.h
54432
0644
edit
dl
rm
ulocdata.h
11533
0644
edit
dl
rm
umachine.h
14884
0644
edit
dl
rm
umisc.h
1365
0644
edit
dl
rm
umsg.h
24812
0644
edit
dl
rm
umutablecptrie.h
8435
0644
edit
dl
rm
unifilt.h
4055
0644
edit
dl
rm
unifunct.h
4141
0644
edit
dl
rm
unimatch.h
6244
0644
edit
dl
rm
unirepl.h
3464
0644
edit
dl
rm
uniset.h
66459
0644
edit
dl
rm
unistr.h
174523
0644
edit
dl
rm
unorm.h
21015
0644
edit
dl
rm
unorm2.h
25254
0644
edit
dl
rm
unum.h
54743
0644
edit
dl
rm
unumberformatter.h
25824
0644
edit
dl
rm
unumsys.h
7387
0644
edit
dl
rm
uobject.h
10936
0644
edit
dl
rm
upluralrules.h
8013
0644
edit
dl
rm
uregex.h
73784
0644
edit
dl
rm
uregion.h
10073
0644
edit
dl
rm
ureldatefmt.h
17409
0644
edit
dl
rm
urename.h
134449
0644
edit
dl
rm
urep.h
5507
0644
edit
dl
rm
ures.h
37415
0644
edit
dl
rm
uscript.h
27867
0644
edit
dl
rm
usearch.h
39039
0644
edit
dl
rm
uset.h
40958
0644
edit
dl
rm
usetiter.h
9781
0644
edit
dl
rm
ushape.h
18432
0644
edit
dl
rm
uspoof.h
67480
0644
edit
dl
rm
usprep.h
8331
0644
edit
dl
rm
ustdio.h
39469
0644
edit
dl
rm
ustream.h
1934
0644
edit
dl
rm
ustring.h
74211
0644
edit
dl
rm
ustringtrie.h
3224
0644
edit
dl
rm
utext.h
59527
0644
edit
dl
rm
utf.h
8046
0644
edit
dl
rm
utf8.h
31700
0644
edit
dl
rm
utf16.h
23878
0644
edit
dl
rm
utf32.h
763
0644
edit
dl
rm
utf_old.h
46929
0644
edit
dl
rm
utmscale.h
14113
0644
edit
dl
rm
utrace.h
17706
0644
edit
dl
rm
utrans.h
26130
0644
edit
dl
rm
utypes.h
31481
0644
edit
dl
rm
uvernum.h
6832
0644
edit
dl
rm
uversion.h
6145
0644
edit
dl
rm
vtzone.h
20784
0644
edit
dl
rm
Edit:
/usr/include/unicode/ucurr.h
(16507B)
// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ********************************************************************** * Copyright (c) 2002-2016, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** */ #ifndef _UCURR_H_ #define _UCURR_H_ #include "unicode/utypes.h" #include "unicode/uenum.h" /** * \file * \brief C API: Encapsulates information about a currency. * * The ucurr API encapsulates information about a currency, as defined by * ISO 4217. A currency is represented by a 3-character string * containing its ISO 4217 code. This API can return various data * necessary the proper display of a currency: * * <ul><li>A display symbol, for a specific locale * <li>The number of fraction digits to display * <li>A rounding increment * </ul> * * The <tt>DecimalFormat</tt> class uses these data to display * currencies. * @author Alan Liu * @since ICU 2.2 */ #if !UCONFIG_NO_FORMATTING /** * Currency Usage used for Decimal Format * @stable ICU 54 */ enum UCurrencyUsage { /** * a setting to specify currency usage which determines currency digit * and rounding for standard usage, for example: "50.00 NT$" * used as DEFAULT value * @stable ICU 54 */ UCURR_USAGE_STANDARD=0, /** * a setting to specify currency usage which determines currency digit * and rounding for cash usage, for example: "50 NT$" * @stable ICU 54 */ UCURR_USAGE_CASH=1, #ifndef U_HIDE_DEPRECATED_API /** * One higher than the last enum UCurrencyUsage constant. * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. */ UCURR_USAGE_COUNT=2 #endif // U_HIDE_DEPRECATED_API }; /** Currency Usage used for Decimal Format */ typedef enum UCurrencyUsage UCurrencyUsage; /** * Finds a currency code for the given locale. * @param locale the locale for which to retrieve a currency code. * Currency can be specified by the "currency" keyword * in which case it overrides the default currency code * @param buff fill in buffer. Can be NULL for preflighting. * @param buffCapacity capacity of the fill in buffer. Can be 0 for * preflighting. If it is non-zero, the buff parameter * must not be NULL. * @param ec error code * @return length of the currency string. It should always be 3. If 0, * currency couldn't be found or the input values are * invalid. * @stable ICU 2.8 */ U_STABLE int32_t U_EXPORT2 ucurr_forLocale(const char* locale, UChar* buff, int32_t buffCapacity, UErrorCode* ec); /** * Selector constants for ucurr_getName(). * * @see ucurr_getName * @stable ICU 2.6 */ typedef enum UCurrNameStyle { /** * Selector for ucurr_getName indicating a symbolic name for a * currency, such as "$" for USD. * @stable ICU 2.6 */ UCURR_SYMBOL_NAME, /** * Selector for ucurr_getName indicating the long name for a * currency, such as "US Dollar" for USD. * @stable ICU 2.6 */ UCURR_LONG_NAME, /** * Selector for getName() indicating the narrow currency symbol. * The narrow currency symbol is similar to the regular currency * symbol, but it always takes the shortest form: for example, * "$" instead of "US$" for USD in en-CA. * * @stable ICU 61 */ UCURR_NARROW_SYMBOL_NAME } UCurrNameStyle; #if !UCONFIG_NO_SERVICE /** * @stable ICU 2.6 */ typedef const void* UCurrRegistryKey; /** * Register an (existing) ISO 4217 currency code for the given locale. * Only the country code and the two variants EURO and PRE_EURO are * recognized. * @param isoCode the three-letter ISO 4217 currency code * @param locale the locale for which to register this currency code * @param status the in/out status code * @return a registry key that can be used to unregister this currency code, or NULL * if there was an error. * @stable ICU 2.6 */ U_STABLE UCurrRegistryKey U_EXPORT2 ucurr_register(const UChar* isoCode, const char* locale, UErrorCode* status); /** * Unregister the previously-registered currency definitions using the * URegistryKey returned from ucurr_register. Key becomes invalid after * a successful call and should not be used again. Any currency * that might have been hidden by the original ucurr_register call is * restored. * @param key the registry key returned by a previous call to ucurr_register * @param status the in/out status code, no special meanings are assigned * @return TRUE if the currency for this key was successfully unregistered * @stable ICU 2.6 */ U_STABLE UBool U_EXPORT2 ucurr_unregister(UCurrRegistryKey key, UErrorCode* status); #endif /* UCONFIG_NO_SERVICE */ /** * Returns the display name for the given currency in the * given locale. For example, the display name for the USD * currency object in the en_US locale is "$". * @param currency null-terminated 3-letter ISO 4217 code * @param locale locale in which to display currency * @param nameStyle selector for which kind of name to return * @param isChoiceFormat always set to FALSE, or can be NULL; * display names are static strings; * since ICU 4.4, ChoiceFormat patterns are no longer supported * @param len fill-in parameter to receive length of result * @param ec error code * @return pointer to display string of 'len' UChars. If the resource * data contains no entry for 'currency', then 'currency' itself is * returned. * @stable ICU 2.6 */ U_STABLE const UChar* U_EXPORT2 ucurr_getName(const UChar* currency, const char* locale, UCurrNameStyle nameStyle, UBool* isChoiceFormat, int32_t* len, UErrorCode* ec); /** * Returns the plural name for the given currency in the * given locale. For example, the plural name for the USD * currency object in the en_US locale is "US dollar" or "US dollars". * @param currency null-terminated 3-letter ISO 4217 code * @param locale locale in which to display currency * @param isChoiceFormat always set to FALSE, or can be NULL; * display names are static strings; * since ICU 4.4, ChoiceFormat patterns are no longer supported * @param pluralCount plural count * @param len fill-in parameter to receive length of result * @param ec error code * @return pointer to display string of 'len' UChars. If the resource * data contains no entry for 'currency', then 'currency' itself is * returned. * @stable ICU 4.2 */ U_STABLE const UChar* U_EXPORT2 ucurr_getPluralName(const UChar* currency, const char* locale, UBool* isChoiceFormat, const char* pluralCount, int32_t* len, UErrorCode* ec); /** * Returns the number of the number of fraction digits that should * be displayed for the given currency. * This is equivalent to ucurr_getDefaultFractionDigitsForUsage(currency,UCURR_USAGE_STANDARD,ec); * * Important: The number of fraction digits for a given currency is NOT * guaranteed to be constant across versions of ICU or CLDR. For example, * do NOT use this value as a mechanism for deciding the magnitude used * to store currency values in a database. You should use this value for * display purposes only. * * @param currency null-terminated 3-letter ISO 4217 code * @param ec input-output error code * @return a non-negative number of fraction digits to be * displayed, or 0 if there is an error * @stable ICU 3.0 */ U_STABLE int32_t U_EXPORT2 ucurr_getDefaultFractionDigits(const UChar* currency, UErrorCode* ec); /** * Returns the number of the number of fraction digits that should * be displayed for the given currency with usage. * * Important: The number of fraction digits for a given currency is NOT * guaranteed to be constant across versions of ICU or CLDR. For example, * do NOT use this value as a mechanism for deciding the magnitude used * to store currency values in a database. You should use this value for * display purposes only. * * @param currency null-terminated 3-letter ISO 4217 code * @param usage enum usage for the currency * @param ec input-output error code * @return a non-negative number of fraction digits to be * displayed, or 0 if there is an error * @stable ICU 54 */ U_STABLE int32_t U_EXPORT2 ucurr_getDefaultFractionDigitsForUsage(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. * This is equivalent to ucurr_getRoundingIncrementForUsage(currency,UCURR_USAGE_STANDARD,ec); * @param currency null-terminated 3-letter ISO 4217 code * @param ec input-output error code * @return the non-negative rounding increment, or 0.0 if none, * or 0.0 if there is an error * @stable ICU 3.0 */ U_STABLE double U_EXPORT2 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 given usage. * @param currency null-terminated 3-letter ISO 4217 code * @param usage enum usage for the currency * @param ec input-output error code * @return the non-negative rounding increment, or 0.0 if none, * or 0.0 if there is an error * @stable ICU 54 */ U_STABLE double U_EXPORT2 ucurr_getRoundingIncrementForUsage(const UChar* currency, const UCurrencyUsage usage, UErrorCode* ec); /** * Selector constants for ucurr_openCurrencies(). * * @see ucurr_openCurrencies * @stable ICU 3.2 */ typedef enum UCurrCurrencyType { /** * Select all ISO-4217 currency codes. * @stable ICU 3.2 */ UCURR_ALL = INT32_MAX, /** * Select only ISO-4217 commonly used currency codes. * These currencies can be found in common use, and they usually have * bank notes or coins associated with the currency code. * This does not include fund codes, precious metals and other * various ISO-4217 codes limited to special financial products. * @stable ICU 3.2 */ UCURR_COMMON = 1, /** * Select ISO-4217 uncommon currency codes. * These codes respresent fund codes, precious metals and other * various ISO-4217 codes limited to special financial products. * A fund code is a monetary resource associated with a currency. * @stable ICU 3.2 */ UCURR_UNCOMMON = 2, /** * Select only deprecated ISO-4217 codes. * These codes are no longer in general public use. * @stable ICU 3.2 */ UCURR_DEPRECATED = 4, /** * Select only non-deprecated ISO-4217 codes. * These codes are in general public use. * @stable ICU 3.2 */ UCURR_NON_DEPRECATED = 8 } UCurrCurrencyType; /** * Provides a UEnumeration object for listing ISO-4217 codes. * @param currType You can use one of several UCurrCurrencyType values for this * variable. You can also | (or) them together to get a specific list of * currencies. Most people will want to use the (UCURR_COMMON|UCURR_NON_DEPRECATED) value to * get a list of current currencies. * @param pErrorCode Error code * @stable ICU 3.2 */ U_STABLE UEnumeration * U_EXPORT2 ucurr_openISOCurrencies(uint32_t currType, UErrorCode *pErrorCode); /** * Queries if the given ISO 4217 3-letter code is available on the specified date range. * * Note: For checking availability of a currency on a specific date, specify the date on both 'from' and 'to' * * When 'from' is U_DATE_MIN and 'to' is U_DATE_MAX, this method checks if the specified currency is available any time. * If 'from' and 'to' are same UDate value, this method checks if the specified currency is available on that date. * * @param isoCode * The ISO 4217 3-letter code. * * @param from * The lower bound of the date range, inclusive. When 'from' is U_DATE_MIN, check the availability * of the currency any date before 'to' * * @param to * The upper bound of the date range, inclusive. When 'to' is U_DATE_MAX, check the availability of * the currency any date after 'from' * * @param errorCode * ICU error code * * @return TRUE if the given ISO 4217 3-letter code is supported on the specified date range. * * @stable ICU 4.8 */ U_STABLE UBool U_EXPORT2 ucurr_isAvailable(const UChar* isoCode, UDate from, UDate to, UErrorCode* errorCode); /** * Finds the number of valid currency codes for the * given locale and date. * @param locale the locale for which to retrieve the * currency count. * @param date the date for which to retrieve the * currency count for the given locale. * @param ec error code * @return the number of currency codes for the * given locale and date. If 0, currency * codes couldn't be found for the input * values are invalid. * @stable ICU 4.0 */ U_STABLE int32_t U_EXPORT2 ucurr_countCurrencies(const char* locale, UDate date, UErrorCode* ec); /** * Finds a currency code for the given locale and date * @param locale the locale for which to retrieve a currency code. * Currency can be specified by the "currency" keyword * in which case it overrides the default currency code * @param date the date for which to retrieve a currency code for * the given locale. * @param index the index within the available list of currency codes * for the given locale on the given date. * @param buff fill in buffer. Can be NULL for preflighting. * @param buffCapacity capacity of the fill in buffer. Can be 0 for * preflighting. If it is non-zero, the buff parameter * must not be NULL. * @param ec error code * @return length of the currency string. It should always be 3. * If 0, currency couldn't be found or the input values are * invalid. * @stable ICU 4.0 */ U_STABLE int32_t U_EXPORT2 ucurr_forLocaleAndDate(const char* locale, UDate date, int32_t index, UChar* buff, int32_t buffCapacity, UErrorCode* ec); /** * Given a key and a locale, returns an array of string values in a preferred * order that would make a difference. These are all and only those values where * the open (creation) of the service with the locale formed from the input locale * plus input keyword and that value has different behavior than creation with the * input locale alone. * @param key one of the keys supported by this service. For now, only * "currency" is supported. * @param locale the locale * @param commonlyUsed if set to true it will return only commonly used values * with the given locale in preferred order. Otherwise, * it will return all the available values for the locale. * @param status error status * @return a string enumeration over keyword values for the given key and the locale. * @stable ICU 4.2 */ U_STABLE UEnumeration* U_EXPORT2 ucurr_getKeywordValuesForLocale(const char* key, const char* locale, UBool commonlyUsed, UErrorCode* status); /** * Returns the ISO 4217 numeric code for the currency. * <p>Note: If the ISO 4217 numeric code is not assigned for the currency or * the currency is unknown, this function returns 0. * * @param currency null-terminated 3-letter ISO 4217 code * @return The ISO 4217 numeric code of the currency * @stable ICU 49 */ U_STABLE int32_t U_EXPORT2 ucurr_getNumericCode(const UChar* currency); #endif /* #if !UCONFIG_NO_FORMATTING */ #endif
Save
cmd:
run