ICU 50.2 50.2
ucnv.h
Go to the documentation of this file.
1/*
2**********************************************************************
3* Copyright (C) 1999-2012, International Business Machines
4* Corporation and others. All Rights Reserved.
5**********************************************************************
6 * ucnv.h:
7 * External APIs for the ICU's codeset conversion library
8 * Bertrand A. Damiba
9 *
10 * Modification History:
11 *
12 * Date Name Description
13 * 04/04/99 helena Fixed internal header inclusion.
14 * 05/11/00 helena Added setFallback and usesFallback APIs.
15 * 06/29/2000 helena Major rewrite of the callback APIs.
16 * 12/07/2000 srl Update of documentation
17 */
18
46
47#ifndef UCNV_H
48#define UCNV_H
49
50#include "unicode/ucnv_err.h"
51#include "unicode/uenum.h"
53
54#ifndef __USET_H__
55
65struct USet;
67typedef struct USet USet;
68
69#endif
70
71#if !UCONFIG_NO_CONVERSION
72
74
76#define UCNV_MAX_CONVERTER_NAME_LENGTH 60
78#define UCNV_MAX_FULL_FILE_NAME_LENGTH (600+UCNV_MAX_CONVERTER_NAME_LENGTH)
79
81#define UCNV_SI 0x0F
83#define UCNV_SO 0x0E
84
168
178typedef enum {
179 UCNV_UNKNOWN = -1,
180 UCNV_IBM = 0
182
198typedef void (U_EXPORT2 *UConverterToUCallback) (
199 const void* context,
201 const char *codeUnits,
202 int32_t length,
204 UErrorCode *pErrorCode);
205
221typedef void (U_EXPORT2 *UConverterFromUCallback) (
222 const void* context,
224 const UChar* codeUnits,
225 int32_t length,
226 UChar32 codePoint,
228 UErrorCode *pErrorCode);
229
231
237#define UCNV_OPTION_SEP_CHAR ','
238
244#define UCNV_OPTION_SEP_STRING ","
245
251#define UCNV_VALUE_SEP_CHAR '='
252
258#define UCNV_VALUE_SEP_STRING "="
259
268#define UCNV_LOCALE_OPTION_STRING ",locale="
269
281#define UCNV_VERSION_OPTION_STRING ",version="
282
293#define UCNV_SWAP_LFNL_OPTION_STRING ",swaplfnl"
294
310U_STABLE int U_EXPORT2
311ucnv_compareNames(const char *name1, const char *name2);
312
313
364U_STABLE UConverter* U_EXPORT2
365ucnv_open(const char *converterName, UErrorCode *err);
366
367
394U_STABLE UConverter* U_EXPORT2
395ucnv_openU(const UChar *name,
396 UErrorCode *err);
397
462U_STABLE UConverter* U_EXPORT2
463ucnv_openCCSID(int32_t codepage,
464 UConverterPlatform platform,
465 UErrorCode * err);
466
497U_STABLE UConverter* U_EXPORT2
498ucnv_openPackage(const char *packageName, const char *converterName, UErrorCode *err);
499
537U_STABLE UConverter * U_EXPORT2
539 void *stackBuffer,
540 int32_t *pBufferSize,
541 UErrorCode *status);
542
549#define U_CNV_SAFECLONE_BUFFERSIZE 1024
550
562U_STABLE void U_EXPORT2
564
565#if U_SHOW_CPLUSPLUS_API
566
568
579
581
582#endif
583
601U_STABLE void U_EXPORT2
603 char *subChars,
604 int8_t *len,
605 UErrorCode *err);
606
626U_STABLE void U_EXPORT2
628 const char *subChars,
629 int8_t len,
630 UErrorCode *err);
631
659U_STABLE void U_EXPORT2
661 const UChar *s,
662 int32_t length,
663 UErrorCode *err);
664
678U_STABLE void U_EXPORT2
680 char *errBytes,
681 int8_t *len,
682 UErrorCode *err);
683
697U_STABLE void U_EXPORT2
699 UChar *errUChars,
700 int8_t *len,
701 UErrorCode *err);
702
710U_STABLE void U_EXPORT2
712
721U_STABLE void U_EXPORT2
723
732U_STABLE void U_EXPORT2
734
783U_STABLE int8_t U_EXPORT2
785
805#define UCNV_GET_MAX_BYTES_FOR_STRING(length, maxCharSize) \
806 (((int32_t)(length)+10)*(int32_t)(maxCharSize))
807
816U_STABLE int8_t U_EXPORT2
818
833U_STABLE int32_t U_EXPORT2
835 const char *displayLocale,
836 UChar *displayName,
837 int32_t displayNameCapacity,
838 UErrorCode *err);
839
850U_STABLE const char * U_EXPORT2
851ucnv_getName(const UConverter *converter, UErrorCode *err);
852
876U_STABLE int32_t U_EXPORT2
877ucnv_getCCSID(const UConverter *converter,
878 UErrorCode *err);
879
892 UErrorCode *err);
893
902U_STABLE UConverterType U_EXPORT2
903ucnv_getType(const UConverter * converter);
904
920U_STABLE void U_EXPORT2
921ucnv_getStarters(const UConverter* converter,
922 UBool starters[256],
923 UErrorCode* err);
924
925
939
940
986U_STABLE void U_EXPORT2
988 USet *setFillIn,
989 UConverterUnicodeSet whichSet,
990 UErrorCode *pErrorCode);
991
1003U_STABLE void U_EXPORT2
1005 UConverterToUCallback *action,
1006 const void **context);
1007
1019U_STABLE void U_EXPORT2
1022 const void **context);
1023
1039U_STABLE void U_EXPORT2
1041 UConverterToUCallback newAction,
1042 const void* newContext,
1043 UConverterToUCallback *oldAction,
1044 const void** oldContext,
1045 UErrorCode * err);
1046
1062U_STABLE void U_EXPORT2
1064 UConverterFromUCallback newAction,
1065 const void *newContext,
1066 UConverterFromUCallback *oldAction,
1067 const void **oldContext,
1068 UErrorCode * err);
1069
1128U_STABLE void U_EXPORT2
1130 char **target,
1131 const char *targetLimit,
1132 const UChar ** source,
1133 const UChar * sourceLimit,
1134 int32_t* offsets,
1135 UBool flush,
1136 UErrorCode * err);
1137
1197U_STABLE void U_EXPORT2
1199 UChar **target,
1200 const UChar *targetLimit,
1201 const char **source,
1202 const char *sourceLimit,
1203 int32_t *offsets,
1204 UBool flush,
1205 UErrorCode *err);
1206
1234U_STABLE int32_t U_EXPORT2
1236 char *dest, int32_t destCapacity,
1237 const UChar *src, int32_t srcLength,
1238 UErrorCode *pErrorCode);
1239
1266U_STABLE int32_t U_EXPORT2
1268 UChar *dest, int32_t destCapacity,
1269 const char *src, int32_t srcLength,
1270 UErrorCode *pErrorCode);
1271
1342U_STABLE UChar32 U_EXPORT2
1344 const char **source,
1345 const char * sourceLimit,
1346 UErrorCode * err);
1347
1486U_STABLE void U_EXPORT2
1487ucnv_convertEx(UConverter *targetCnv, UConverter *sourceCnv,
1488 char **target, const char *targetLimit,
1489 const char **source, const char *sourceLimit,
1490 UChar *pivotStart, UChar **pivotSource,
1491 UChar **pivotTarget, const UChar *pivotLimit,
1492 UBool reset, UBool flush,
1493 UErrorCode *pErrorCode);
1494
1550U_STABLE int32_t U_EXPORT2
1551ucnv_convert(const char *toConverterName,
1552 const char *fromConverterName,
1553 char *target,
1554 int32_t targetCapacity,
1555 const char *source,
1556 int32_t sourceLength,
1557 UErrorCode *pErrorCode);
1558
1604U_STABLE int32_t U_EXPORT2
1606 UConverter *cnv,
1607 char *target, int32_t targetCapacity,
1608 const char *source, int32_t sourceLength,
1609 UErrorCode *pErrorCode);
1610
1656U_STABLE int32_t U_EXPORT2
1658 UConverterType algorithmicType,
1659 char *target, int32_t targetCapacity,
1660 const char *source, int32_t sourceLength,
1661 UErrorCode *pErrorCode);
1662
1670U_STABLE int32_t U_EXPORT2
1672
1680U_STABLE int32_t U_EXPORT2
1682
1693U_STABLE const char* U_EXPORT2
1695
1708U_STABLE UEnumeration * U_EXPORT2
1710
1721U_STABLE uint16_t U_EXPORT2
1722ucnv_countAliases(const char *alias, UErrorCode *pErrorCode);
1723
1736U_STABLE const char * U_EXPORT2
1737ucnv_getAlias(const char *alias, uint16_t n, UErrorCode *pErrorCode);
1738
1752U_STABLE void U_EXPORT2
1753ucnv_getAliases(const char *alias, const char **aliases, UErrorCode *pErrorCode);
1754
1778U_STABLE UEnumeration * U_EXPORT2
1779ucnv_openStandardNames(const char *convName,
1780 const char *standard,
1781 UErrorCode *pErrorCode);
1782
1788U_STABLE uint16_t U_EXPORT2
1790
1798U_STABLE const char * U_EXPORT2
1799ucnv_getStandard(uint16_t n, UErrorCode *pErrorCode);
1800
1820U_STABLE const char * U_EXPORT2
1821ucnv_getStandardName(const char *name, const char *standard, UErrorCode *pErrorCode);
1822
1842U_STABLE const char * U_EXPORT2
1843ucnv_getCanonicalName(const char *alias, const char *standard, UErrorCode *pErrorCode);
1844
1859U_STABLE const char * U_EXPORT2
1861
1862#ifndef U_HIDE_SYSTEM_API
1879U_STABLE void U_EXPORT2
1880ucnv_setDefaultName(const char *name);
1881#endif /* U_HIDE_SYSTEM_API */
1882
1900U_STABLE void U_EXPORT2
1901ucnv_fixFileSeparator(const UConverter *cnv, UChar *source, int32_t sourceLen);
1902
1911U_STABLE UBool U_EXPORT2
1913
1929U_STABLE void U_EXPORT2
1931
1941U_STABLE UBool U_EXPORT2
1943
1973U_STABLE const char* U_EXPORT2
1975 int32_t sourceLength,
1976 int32_t *signatureLength,
1977 UErrorCode *pErrorCode);
1978
1990U_STABLE int32_t U_EXPORT2
1992
2004U_STABLE int32_t U_EXPORT2
2006
2022U_STABLE UBool U_EXPORT2
2024
2025#endif
2026
2027#endif
2028/*_UCNV*/
"Smart pointer" class, closes a UConverter via ucnv_close().
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
The structure for the fromUnicode callback function parameter.
Definition ucnv_err.h:192
The structure for the toUnicode callback function parameter.
Definition ucnv_err.h:208
UBool ucnv_usesFallback(const UConverter *cnv)
Determines if the converter uses fallback mappings or not.
void(* UConverterToUCallback)(const void *context, UConverterToUnicodeArgs *args, const char *codeUnits, int32_t length, UConverterCallbackReason reason, UErrorCode *pErrorCode)
Function pointer for error callback in the codepage to unicode direction.
Definition ucnv.h:198
int32_t ucnv_getCCSID(const UConverter *converter, UErrorCode *err)
Gets a codepage number associated with the converter.
UConverter * ucnv_openCCSID(int32_t codepage, UConverterPlatform platform, UErrorCode *err)
Creates a UConverter object from a CCSID number and platform pair.
int8_t ucnv_getMaxCharSize(const UConverter *converter)
Returns the maximum number of bytes that are output per UChar in conversion from Unicode using this c...
void ucnv_setFallback(UConverter *cnv, UBool usesFallback)
Sets the converter to use fallback mappings or not.
void ucnv_getSubstChars(const UConverter *converter, char *subChars, int8_t *len, UErrorCode *err)
Fills in the output parameter, subChars, with the substitution characters as multiple bytes.
UConverter * ucnv_safeClone(const UConverter *cnv, void *stackBuffer, int32_t *pBufferSize, UErrorCode *status)
Thread safe converter cloning operation.
int8_t ucnv_getMinCharSize(const UConverter *converter)
Returns the minimum byte length for characters in this codepage.
int32_t ucnv_toUChars(UConverter *cnv, UChar *dest, int32_t destCapacity, const char *src, int32_t srcLength, UErrorCode *pErrorCode)
Convert the codepage string into a Unicode string using an existing UConverter.
const char * ucnv_getStandard(uint16_t n, UErrorCode *pErrorCode)
Gives the name of the standard at given index of standard list.
void ucnv_close(UConverter *converter)
Deletes the unicode converter and releases resources associated with just this instance.
UEnumeration * ucnv_openStandardNames(const char *convName, const char *standard, UErrorCode *pErrorCode)
Return a new UEnumeration object for enumerating all the alias names for a given converter that are r...
void ucnv_setDefaultName(const char *name)
This function is not thread safe.
int32_t ucnv_toAlgorithmic(UConverterType algorithmicType, UConverter *cnv, char *target, int32_t targetCapacity, const char *source, int32_t sourceLength, UErrorCode *pErrorCode)
Convert from one external charset to another.
int32_t ucnv_fromUCountPending(const UConverter *cnv, UErrorCode *status)
Returns the number of UChars held in the converter's internal state because more input is needed for ...
UConverter * ucnv_openPackage(const char *packageName, const char *converterName, UErrorCode *err)
void(* UConverterFromUCallback)(const void *context, UConverterFromUnicodeArgs *args, const UChar *codeUnits, int32_t length, UChar32 codePoint, UConverterCallbackReason reason, UErrorCode *pErrorCode)
Function pointer for error callback in the unicode to codepage direction.
Definition ucnv.h:221
void ucnv_fixFileSeparator(const UConverter *cnv, UChar *source, int32_t sourceLen)
Fixes the backslash character mismapping.
void ucnv_getFromUCallBack(const UConverter *converter, UConverterFromUCallback *action, const void **context)
Gets the current callback function used by the converter when illegal or invalid Unicode sequence is ...
int32_t ucnv_convert(const char *toConverterName, const char *fromConverterName, char *target, int32_t targetCapacity, const char *source, int32_t sourceLength, UErrorCode *pErrorCode)
Convert from one external charset to another.
int32_t ucnv_fromUChars(UConverter *cnv, char *dest, int32_t destCapacity, const UChar *src, int32_t srcLength, UErrorCode *pErrorCode)
Convert the Unicode string into a codepage string using an existing UConverter.
void ucnv_getInvalidUChars(const UConverter *converter, UChar *errUChars, int8_t *len, UErrorCode *err)
Fills in the output parameter, errChars, with the error characters from the last failing conversion.
int32_t ucnv_getDisplayName(const UConverter *converter, const char *displayLocale, UChar *displayName, int32_t displayNameCapacity, UErrorCode *err)
Returns the display name of the converter passed in based on the Locale passed in.
const char * ucnv_getName(const UConverter *converter, UErrorCode *err)
Gets the internal, canonical name of the converter (zero-terminated).
UConverterUnicodeSet
Selectors for Unicode sets that can be returned by ucnv_getUnicodeSet().
Definition ucnv.h:931
@ UCNV_SET_COUNT
Number of UConverterUnicodeSet selectors.
Definition ucnv.h:937
@ UCNV_ROUNDTRIP_AND_FALLBACK_SET
Select the set of Unicode code points with roundtrip or fallback mappings.
Definition ucnv.h:935
@ UCNV_ROUNDTRIP_SET
Select the set of roundtrippable Unicode code points.
Definition ucnv.h:933
void ucnv_fromUnicode(UConverter *converter, char **target, const char *targetLimit, const UChar **source, const UChar *sourceLimit, int32_t *offsets, UBool flush, UErrorCode *err)
Converts an array of unicode characters to an array of codepage characters.
int32_t ucnv_countAvailable(void)
Returns the number of available converters, as per the alias file.
void ucnv_setFromUCallBack(UConverter *converter, UConverterFromUCallback newAction, const void *newContext, UConverterFromUCallback *oldAction, const void **oldContext, UErrorCode *err)
Changes the current callback function used by the converter when an illegal or invalid sequence is fo...
UEnumeration * ucnv_openAllNames(UErrorCode *pErrorCode)
Returns a UEnumeration to enumerate all of the canonical converter names, as per the alias file,...
int32_t ucnv_fromAlgorithmic(UConverter *cnv, UConverterType algorithmicType, char *target, int32_t targetCapacity, const char *source, int32_t sourceLength, UErrorCode *pErrorCode)
Convert from one external charset to another.
int32_t ucnv_toUCountPending(const UConverter *cnv, UErrorCode *status)
Returns the number of chars held in the converter's internal state because more input is needed for c...
const char * ucnv_detectUnicodeSignature(const char *source, int32_t sourceLength, int32_t *signatureLength, UErrorCode *pErrorCode)
Detects Unicode signature byte sequences at the start of the byte stream and returns the charset name...
UConverter * ucnv_openU(const UChar *name, UErrorCode *err)
Creates a Unicode converter with the names specified as unicode string.
const char * ucnv_getAvailableName(int32_t n)
Gets the canonical converter name of the specified converter from a list of all available converters ...
int ucnv_compareNames(const char *name1, const char *name2)
Do a fuzzy compare of two converter/alias names.
uint16_t ucnv_countStandards(void)
Gives the number of standards associated to converter names.
UBool ucnv_isFixedWidth(UConverter *cnv, UErrorCode *status)
Returns whether or not the charset of the converter has a fixed number of bytes per charset character...
void ucnv_resetToUnicode(UConverter *converter)
Resets the to-Unicode part of a converter state to the default state.
UConverter * ucnv_open(const char *converterName, UErrorCode *err)
Creates a UConverter object with the name of a coded character set specified as a C string.
UConverterType ucnv_getType(const UConverter *converter)
Gets the type of the converter e.g.
UConverterPlatform ucnv_getPlatform(const UConverter *converter, UErrorCode *err)
Gets a codepage platform associated with the converter.
void ucnv_getStarters(const UConverter *converter, UBool starters[256], UErrorCode *err)
Gets the "starter" (lead) bytes for converters of type MBCS.
UChar32 ucnv_getNextUChar(UConverter *converter, const char **source, const char *sourceLimit, UErrorCode *err)
Convert a codepage buffer into Unicode one character at a time.
int32_t ucnv_flushCache(void)
Frees up memory occupied by unused, cached converter shared data.
void ucnv_setToUCallBack(UConverter *converter, UConverterToUCallback newAction, const void *newContext, UConverterToUCallback *oldAction, const void **oldContext, UErrorCode *err)
Changes the callback function used by the converter when an illegal or invalid sequence is found.
uint16_t ucnv_countAliases(const char *alias, UErrorCode *pErrorCode)
Gives the number of aliases for a given converter or alias name.
const char * ucnv_getAlias(const char *alias, uint16_t n, UErrorCode *pErrorCode)
Gives the name of the alias at given index of alias list.
UConverterPlatform
Enum for specifying which platform a converter ID refers to.
Definition ucnv.h:178
void ucnv_resetFromUnicode(UConverter *converter)
Resets the from-Unicode part of a converter state to the default state.
const char * ucnv_getDefaultName(void)
Returns the current default converter name.
void ucnv_setSubstChars(UConverter *converter, const char *subChars, int8_t len, UErrorCode *err)
Sets the substitution chars when converting from unicode to a codepage.
UBool ucnv_isAmbiguous(const UConverter *cnv)
Determines if the converter contains ambiguous mappings of the same character or not.
const char * ucnv_getStandardName(const char *name, const char *standard, UErrorCode *pErrorCode)
Returns a standard name for a given converter name.
void ucnv_reset(UConverter *converter)
Resets the state of a converter to the default state.
UConverterType
Enum for specifying basic types of converters.
Definition ucnv.h:90
@ UCNV_HZ
Definition ucnv.h:143
@ UCNV_LMBCS_11
Definition ucnv.h:131
@ UCNV_ISO_2022
Definition ucnv.h:114
@ UCNV_LATIN_1
Definition ucnv.h:100
@ UCNV_COMPOUND_TEXT
Definition ucnv.h:163
@ UCNV_LMBCS_19
Definition ucnv.h:139
@ UCNV_UTF32_BigEndian
Definition ucnv.h:108
@ UCNV_LMBCS_17
Definition ucnv.h:135
@ UCNV_LMBCS_6
Definition ucnv.h:127
@ UCNV_UTF32
Definition ucnv.h:157
@ UCNV_ISCII
Definition ucnv.h:147
@ UCNV_LMBCS_3
Definition ucnv.h:121
@ UCNV_IMAP_MAILBOX
Definition ucnv.h:161
@ UCNV_UTF8
Definition ucnv.h:102
@ UCNV_SBCS
Definition ucnv.h:94
@ UCNV_UTF16_LittleEndian
Definition ucnv.h:106
@ UCNV_UNSUPPORTED_CONVERTER
Definition ucnv.h:92
@ UCNV_LMBCS_16
Definition ucnv.h:133
@ UCNV_UTF32_LittleEndian
Definition ucnv.h:110
@ UCNV_LMBCS_8
Definition ucnv.h:129
@ UCNV_US_ASCII
Definition ucnv.h:149
@ UCNV_LMBCS_2
Definition ucnv.h:119
@ UCNV_UTF16
Definition ucnv.h:155
@ UCNV_UTF16_BigEndian
Definition ucnv.h:104
@ UCNV_LMBCS_5
Definition ucnv.h:125
@ UCNV_EBCDIC_STATEFUL
Definition ucnv.h:112
@ UCNV_MBCS
Definition ucnv.h:98
@ UCNV_LMBCS_4
Definition ucnv.h:123
@ UCNV_SCSU
Definition ucnv.h:145
@ UCNV_UTF7
Definition ucnv.h:151
@ UCNV_LMBCS_18
Definition ucnv.h:137
@ UCNV_BOCU1
Definition ucnv.h:153
@ UCNV_LMBCS_LAST
Definition ucnv.h:141
@ UCNV_LMBCS_1
Definition ucnv.h:117
@ UCNV_DBCS
Definition ucnv.h:96
@ UCNV_CESU8
Definition ucnv.h:159
struct USet USet
A UnicodeSet.
Definition ucnv.h:67
void ucnv_getAliases(const char *alias, const char **aliases, UErrorCode *pErrorCode)
Fill-up the list of alias names for the given alias.
void ucnv_getInvalidChars(const UConverter *converter, char *errBytes, int8_t *len, UErrorCode *err)
Fills in the output parameter, errBytes, with the error characters from the last failing conversion.
void ucnv_getUnicodeSet(const UConverter *cnv, USet *setFillIn, UConverterUnicodeSet whichSet, UErrorCode *pErrorCode)
Returns the set of Unicode code points that can be converted by an ICU converter.
const char * ucnv_getCanonicalName(const char *alias, const char *standard, UErrorCode *pErrorCode)
This function will return the internal canonical converter name of the tagged alias.
void ucnv_getToUCallBack(const UConverter *converter, UConverterToUCallback *action, const void **context)
Gets the current calback function used by the converter when an illegal or invalid codepage sequence ...
void ucnv_convertEx(UConverter *targetCnv, UConverter *sourceCnv, char **target, const char *targetLimit, const char **source, const char *sourceLimit, UChar *pivotStart, UChar **pivotSource, UChar **pivotTarget, const UChar *pivotLimit, UBool reset, UBool flush, UErrorCode *pErrorCode)
Convert from one external charset to another using two existing UConverters.
void ucnv_setSubstString(UConverter *cnv, const UChar *s, int32_t length, UErrorCode *err)
Set a substitution string for converting from Unicode to a charset.
void ucnv_toUnicode(UConverter *converter, UChar **target, const UChar *targetLimit, const char **source, const char *sourceLimit, int32_t *offsets, UBool flush, UErrorCode *err)
Converts a buffer of codepage bytes into an array of unicode UChars characters.
C UConverter predefined error callbacks.
struct UConverter UConverter
Definition ucnv_err.h:94
UConverterCallbackReason
The process condition code to be used with the callbacks.
Definition ucnv_err.h:155
C API: String Enumeration.
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition uenum.h:39
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition umachine.h:298
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
Definition umachine.h:83
int8_t UBool
The ICU boolean type.
Definition umachine.h:200
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
Definition umachine.h:82
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
Definition umachine.h:278
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition umachine.h:109
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
Definition utypes.h:476
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition uversion.h:130
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition uversion.h:129