43 #if !U_NO_DEFAULT_INCLUDE_UTF_HEADERS
63 # ifndef U_SHOW_CPLUSPLUS_API
64 # define U_SHOW_CPLUSPLUS_API 1
67 # undef U_SHOW_CPLUSPLUS_API
68 # define U_SHOW_CPLUSPLUS_API 0
83 #if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_DRAFT_API)
84 #define U_HIDE_DRAFT_API 1
86 #if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_INTERNAL_API)
87 #define U_HIDE_INTERNAL_API 1
115 # define U_ICUDATA_TYPE_LETTER "e"
116 # define U_ICUDATA_TYPE_LITLETTER e
118 # error "Don't know what to do with little endian EBCDIC!"
119 # define U_ICUDATA_TYPE_LETTER "x"
120 # define U_ICUDATA_TYPE_LITLETTER x
125 # define U_ICUDATA_TYPE_LETTER "b"
126 # define U_ICUDATA_TYPE_LITLETTER b
129 # define U_ICUDATA_TYPE_LETTER "l"
130 # define U_ICUDATA_TYPE_LITLETTER l
139 #define U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER
140 #ifndef U_HIDE_INTERNAL_API
141 #define U_USRDATA_NAME "usrdt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER
142 #define U_USE_USRDATA 0
156 #define U_ICUDATA_ENTRY_POINT U_DEF2_ICUDATA_ENTRY_POINT(U_ICU_VERSION_MAJOR_NUM,U_LIB_SUFFIX_C_NAME)
158 #ifndef U_HIDE_INTERNAL_API
163 #define U_DEF2_ICUDATA_ENTRY_POINT(major,suff) U_DEF_ICUDATA_ENTRY_POINT(major,suff)
169 #ifndef U_DEF_ICUDATA_ENTRY_POINT
171 #ifndef U_LIB_SUFFIX_C_NAME
172 #define U_DEF_ICUDATA_ENTRY_POINT(major, suff) icudt##major##_dat
174 #define U_DEF_ICUDATA_ENTRY_POINT(major, suff) icudt##suff ## major##_dat
188 #define NULL ((void *)0)
206 #define U_MILLIS_PER_SECOND (1000)
208 #define U_MILLIS_PER_MINUTE (60000)
210 #define U_MILLIS_PER_HOUR (3600000)
212 #define U_MILLIS_PER_DAY (86400000)
218 #define U_DATE_MAX DBL_MAX
224 #define U_DATE_MIN -U_DATE_MAX
295 #define U_COMBINED_IMPLEMENTATION 1
298 #if defined(U_COMBINED_IMPLEMENTATION)
299 #define U_DATA_API U_EXPORT
300 #define U_COMMON_API U_EXPORT
301 #define U_I18N_API U_EXPORT
302 #define U_LAYOUT_API U_EXPORT
303 #define U_LAYOUTEX_API U_EXPORT
304 #define U_IO_API U_EXPORT
305 #define U_TOOLUTIL_API U_EXPORT
306 #elif defined(U_STATIC_IMPLEMENTATION)
311 #define U_LAYOUTEX_API
313 #define U_TOOLUTIL_API
314 #elif defined(U_COMMON_IMPLEMENTATION)
315 #define U_DATA_API U_IMPORT
316 #define U_COMMON_API U_EXPORT
317 #define U_I18N_API U_IMPORT
318 #define U_LAYOUT_API U_IMPORT
319 #define U_LAYOUTEX_API U_IMPORT
320 #define U_IO_API U_IMPORT
321 #define U_TOOLUTIL_API U_IMPORT
322 #elif defined(U_I18N_IMPLEMENTATION)
323 #define U_DATA_API U_IMPORT
324 #define U_COMMON_API U_IMPORT
325 #define U_I18N_API U_EXPORT
326 #define U_LAYOUT_API U_IMPORT
327 #define U_LAYOUTEX_API U_IMPORT
328 #define U_IO_API U_IMPORT
329 #define U_TOOLUTIL_API U_IMPORT
330 #elif defined(U_LAYOUT_IMPLEMENTATION)
331 #define U_DATA_API U_IMPORT
332 #define U_COMMON_API U_IMPORT
333 #define U_I18N_API U_IMPORT
334 #define U_LAYOUT_API U_EXPORT
335 #define U_LAYOUTEX_API U_IMPORT
336 #define U_IO_API U_IMPORT
337 #define U_TOOLUTIL_API U_IMPORT
338 #elif defined(U_LAYOUTEX_IMPLEMENTATION)
339 #define U_DATA_API U_IMPORT
340 #define U_COMMON_API U_IMPORT
341 #define U_I18N_API U_IMPORT
342 #define U_LAYOUT_API U_IMPORT
343 #define U_LAYOUTEX_API U_EXPORT
344 #define U_IO_API U_IMPORT
345 #define U_TOOLUTIL_API U_IMPORT
346 #elif defined(U_IO_IMPLEMENTATION)
347 #define U_DATA_API U_IMPORT
348 #define U_COMMON_API U_IMPORT
349 #define U_I18N_API U_IMPORT
350 #define U_LAYOUT_API U_IMPORT
351 #define U_LAYOUTEX_API U_IMPORT
352 #define U_IO_API U_EXPORT
353 #define U_TOOLUTIL_API U_IMPORT
354 #elif defined(U_TOOLUTIL_IMPLEMENTATION)
355 #define U_DATA_API U_IMPORT
356 #define U_COMMON_API U_IMPORT
357 #define U_I18N_API U_IMPORT
358 #define U_LAYOUT_API U_IMPORT
359 #define U_LAYOUTEX_API U_IMPORT
360 #define U_IO_API U_IMPORT
361 #define U_TOOLUTIL_API U_EXPORT
363 #define U_DATA_API U_IMPORT
364 #define U_COMMON_API U_IMPORT
365 #define U_I18N_API U_IMPORT
366 #define U_LAYOUT_API U_IMPORT
367 #define U_LAYOUTEX_API U_IMPORT
368 #define U_IO_API U_IMPORT
369 #define U_TOOLUTIL_API U_IMPORT
378 #define U_STANDARD_CPP_NAMESPACE ::
380 #define U_STANDARD_CPP_NAMESPACE
441 #ifndef U_HIDE_DEPRECATED_API
447 #endif // U_HIDE_DEPRECATED_API
482 #ifndef U_HIDE_DRAFT_API
490 U_INPUT_TOO_LONG_ERROR = 31,
491 #endif // U_HIDE_DRAFT_API
493 #ifndef U_HIDE_DEPRECATED_API
499 #endif // U_HIDE_DEPRECATED_API
540 #ifndef U_HIDE_DEPRECATED_API
546 #endif // U_HIDE_DEPRECATED_API
573 #ifndef U_HIDE_DEPRECATED_API
579 #endif // U_HIDE_DEPRECATED_API
599 #ifndef U_HIDE_DEPRECATED_API
605 #endif // U_HIDE_DEPRECATED_API
625 #ifndef U_HIDE_DEPRECATED_API
635 #ifndef U_HIDE_DEPRECATED_API
641 #endif // U_HIDE_DEPRECATED_API
646 U_IDNA_PROHIBITED_ERROR=0x10400,
647 U_IDNA_ERROR_START=0x10400,
648 U_IDNA_UNASSIGNED_ERROR,
649 U_IDNA_CHECK_BIDI_ERROR,
650 U_IDNA_STD3_ASCII_RULES_ERROR,
651 U_IDNA_ACE_PREFIX_ERROR,
652 U_IDNA_VERIFICATION_ERROR,
653 U_IDNA_LABEL_TOO_LONG_ERROR,
654 U_IDNA_ZERO_LENGTH_LABEL_ERROR,
655 U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR,
656 #ifndef U_HIDE_DEPRECATED_API
662 #endif // U_HIDE_DEPRECATED_API
666 U_STRINGPREP_PROHIBITED_ERROR = U_IDNA_PROHIBITED_ERROR,
667 U_STRINGPREP_UNASSIGNED_ERROR = U_IDNA_UNASSIGNED_ERROR,
668 U_STRINGPREP_CHECK_BIDI_ERROR = U_IDNA_CHECK_BIDI_ERROR,
676 #ifndef U_HIDE_DEPRECATED_API
682 #endif // U_HIDE_DEPRECATED_API
684 #ifndef U_HIDE_DEPRECATED_API
690 #endif // U_HIDE_DEPRECATED_API
714 # define U_SUCCESS(x) ((x)<=U_ZERO_ERROR)
719 # define U_FAILURE(x) ((x)>U_ZERO_ERROR)
728 U_CAPI const char * U_EXPORT2
Typo: kept for backward compatibility.
Cannot format a number exactly and rounding mode is ROUND_UNNECESSARY.
A plugin caused a level change.
Incorrectly nested parentheses in regexp pattern.
Internal transliterator system error.
One more than the highest normal UErrorCode warning value.
Character conversion: Incomplete input sequence.
A compound filter is in an invalid location.
User tried to set variable top to a primary that is longer than two bytes.
U_CAPI const char * u_errorName(UErrorCode code)
Return a string for a UErrorCode value.
A special character is outside its allowed context.
Invalid capture group name.
!!option in RBBI rules not recognized.
#define U_CAPI
This is used to declare a function as a public ICU C API.
A variable reference is invalid.
Too many stand-ins generated for the given variable range.
A result would not fit in the supplied buffer.
#define U_SUCCESS(x)
Does the error code indicate success?
One more than the highest normal IDNA error code.
Conversion table file not found.
Collator version is not compatible with the base version.
An internal error (bug) was detected.
User-configurable settings.
Back-reference to a non-existent capture group.
Unrecognized backslash escape sequence in pattern.
#define U_FAILURE(x)
Does the error code indicate a failure?
This converter alias can go to different converter implementations.
The plugin's level is too high to be loaded right now.
ucol_open encountered a mismatch between UCA version and collator image version, so the collator was ...
Use of an undefined $Variable in an RBBI rule.
A variable definition is invalid.
The requested resource cannot be found.
Hex digits expected as part of a escaped char in a rule.
More than one post context.
A SafeClone operation required allocating memory (informational only)
More than one compound filter.
Syntax error in RBBI rule.
double UDate
Date and Time data type.
In {min,max}, max is less than min.
A rule is hidden by an earlier more general rule.
UnicodeSet writing an RBBI rule missing a closing ']'.
The variable range overlaps characters used in rules.
Start of format library errors.
Decimal number syntax error.
No space available for in-buffer expansion for Arabic shaping.
Indicates a bug in the library code.
More than one percent symbol in number pattern.
Start of Transliterator errors.
Look-Behind pattern matches must have a bounded maximum length.
Elements of a rule are misplaced.
A start anchor appears at an illegal position.
An internal error (bug) was detected.
Decimal number is too large.
Attempt to modify read-only or constant data.
More than one ante context.
A closing single quote is missing.
C API: API for accessing ICU version numbers.
Unable to convert a UChar* string to char* with the invariant converter.
Octal character constants must be <= 0377.
A special character was not quoted or escaped.
Trying to access the index that is out of bounds.
Error in {min,max} interval.
Mis-matched parentheses in an RBBI rule.
More than one decimal separator in number pattern.
Regexps cannot have UnicodeSets containing strings.
Missing closing quote in an RBBI rule.
There are too many aliases in the path to the requested resource.
More than one exponent symbol in number pattern.
A resource bundle lookup returned a fallback result (not an error)
Syntax error in RBBI rule assignment statement.
A closing ')' is missing.
UEnumeration out of sync with underlying collection.
A segment reference does not correspond to a defined segment.
The requested file cannot be found.
ICU has to use compatibility layer to construct the service.
The number skeleton passed to C++ NumberFormatter or C UNumberFormatter was invalid or contained a sy...
One more than the highest normal error code.
A "::id" rule specifies an unknown transliterator.
Requested operation not supported in current context.
In a character range [x-y], x is greater than y.
Use of regexp feature that is not yet implemented.
Basic types and constants for UTF.
C API: Code point macros.
A resource bundle lookup returned a result from the root locale (not an error)
A variable reference does not correspond to a defined variable.
Start of codes indicating failure.
Data format is not what is expected.
Invalid value for match mode flags.
A "&fn()" rule specifies an unknown transliterator.
Start of information results (semantically successful)
an operation is requested over a resource that does not support it
Character conversion: Illegal input sequence/combination of input units.
An output string could not be NUL-terminated because output length==destCapacity. ...
Character conversion: Unmappable input sequence.
Syntax error in regexp pattern.
More than one pad symbol in number pattern.
Number of levels requested in getBound is higher than the number of levels in the sort key...
A "::id" rule was passed to the RuleBasedTransliterator parser.
Maximum allowed match time exceeded.
Missing ';' at the end of a RBBI rule.
Missing DEFAULT rule in plural rules.
Equivalent to Java ParseException.
One more than the highest normal plug-in error code.
Unable to parse a message (message format)
Start of codes indicating Regexp failures.
One more than the highest normal BreakIterator error code.
A rule contains no operator.
Matching operation aborted by user callback fn.
Syntax error in format pattern.
Missing closing bracket on a bracket expression.
Start of codes indicating plugin failures.
Undefined Plural keyword.
Start of codes indicating Break Iterator failures.
Incorrect Unicode property.
One more than the highest normal Transliterator error code.
A UnicodeSet pattern is invalid.
Braces do not match in message pattern.
A quantifier appears after a segment close delimiter.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
The argument to a NumberFormatter helper method was out of bounds; the bounds are usually 0 to 999...
Regular expression backtrack stack overflow.
RegexMatcher in invalid state for requested operation.
ISO-2022 illegal escape sequence.
One more than the highest standard error code.
Currently used only while setting variable top, but can be used generally.
Rule contains an empty Unicode Set.
Collator is options only and no base is specified.
A cursor offset occurs at an illegal position.
Syntax error in format pattern.
Pad symbol misplaced in number pattern.
The {nnn} tag on a rule is malformed.
Missing '$' or duplicate variable name.
A Unicode escape pattern is invalid.
One more than the highest normal regular expression error code.
Grouping symbol in exponent pattern.
One more than the highest normal formatting API error code.
Requested operation can not be completed with ICU in its current state.
Duplicate keyword in PluralFormat.
ICU cannot construct a service from this state, as it is no longer supported.
Pattern exceeds limits on size or complexity.
ISO-2022 unsupported escape sequence.
A 'use' pragma is invalid.
The plugin didn't call uplug_setPlugLevel in response to a QUERY.
RBBI rule $Variable redefined.
int8_t UBool
The ICU boolean type, a signed-byte integer.
Argument name and argument index mismatch in MessageFormat functions.
More than one permill symbol in number pattern.
Conversion table file found, but corrupted.