41 #if !U_NO_DEFAULT_INCLUDE_UTF_HEADERS
61 # ifndef U_SHOW_CPLUSPLUS_API
62 # define U_SHOW_CPLUSPLUS_API 1
65 # undef U_SHOW_CPLUSPLUS_API
66 # define U_SHOW_CPLUSPLUS_API 0
81 #if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_DRAFT_API)
82 #define U_HIDE_DRAFT_API 1
84 #if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_INTERNAL_API)
85 #define U_HIDE_INTERNAL_API 1
113 # define U_ICUDATA_TYPE_LETTER "e"
114 # define U_ICUDATA_TYPE_LITLETTER e
116 # error "Don't know what to do with little endian EBCDIC!"
117 # define U_ICUDATA_TYPE_LETTER "x"
118 # define U_ICUDATA_TYPE_LITLETTER x
123 # define U_ICUDATA_TYPE_LETTER "b"
124 # define U_ICUDATA_TYPE_LITLETTER b
127 # define U_ICUDATA_TYPE_LETTER "l"
128 # define U_ICUDATA_TYPE_LITLETTER l
137 #define U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER
138 #ifndef U_HIDE_INTERNAL_API
139 #define U_USRDATA_NAME "usrdt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER
140 #define U_USE_USRDATA 1
154 #define U_ICUDATA_ENTRY_POINT U_DEF2_ICUDATA_ENTRY_POINT(U_ICU_VERSION_MAJOR_NUM,U_LIB_SUFFIX_C_NAME)
156 #ifndef U_HIDE_INTERNAL_API
161 #define U_DEF2_ICUDATA_ENTRY_POINT(major,suff) U_DEF_ICUDATA_ENTRY_POINT(major,suff)
167 #ifndef U_DEF_ICUDATA_ENTRY_POINT
169 #ifndef U_LIB_SUFFIX_C_NAME
170 #define U_DEF_ICUDATA_ENTRY_POINT(major, suff) icudt##major##_dat
172 #define U_DEF_ICUDATA_ENTRY_POINT(major, suff) icudt##suff ## major##_dat
186 #define NULL ((void *)0)
204 #define U_MILLIS_PER_SECOND (1000)
206 #define U_MILLIS_PER_MINUTE (60000)
208 #define U_MILLIS_PER_HOUR (3600000)
210 #define U_MILLIS_PER_DAY (86400000)
216 #define U_DATE_MAX DBL_MAX
222 #define U_DATE_MIN -U_DATE_MAX
291 #if defined(U_COMBINED_IMPLEMENTATION)
292 #define U_DATA_API U_EXPORT
293 #define U_COMMON_API U_EXPORT
294 #define U_I18N_API U_EXPORT
295 #define U_LAYOUT_API U_EXPORT
296 #define U_LAYOUTEX_API U_EXPORT
297 #define U_IO_API U_EXPORT
298 #define U_TOOLUTIL_API U_EXPORT
299 #elif defined(U_STATIC_IMPLEMENTATION)
304 #define U_LAYOUTEX_API
306 #define U_TOOLUTIL_API
307 #elif defined(U_COMMON_IMPLEMENTATION)
308 #define U_DATA_API U_IMPORT
309 #define U_COMMON_API U_EXPORT
310 #define U_I18N_API U_IMPORT
311 #define U_LAYOUT_API U_IMPORT
312 #define U_LAYOUTEX_API U_IMPORT
313 #define U_IO_API U_IMPORT
314 #define U_TOOLUTIL_API U_IMPORT
315 #elif defined(U_I18N_IMPLEMENTATION)
316 #define U_DATA_API U_IMPORT
317 #define U_COMMON_API U_IMPORT
318 #define U_I18N_API U_EXPORT
319 #define U_LAYOUT_API U_IMPORT
320 #define U_LAYOUTEX_API U_IMPORT
321 #define U_IO_API U_IMPORT
322 #define U_TOOLUTIL_API U_IMPORT
323 #elif defined(U_LAYOUT_IMPLEMENTATION)
324 #define U_DATA_API U_IMPORT
325 #define U_COMMON_API U_IMPORT
326 #define U_I18N_API U_IMPORT
327 #define U_LAYOUT_API U_EXPORT
328 #define U_LAYOUTEX_API U_IMPORT
329 #define U_IO_API U_IMPORT
330 #define U_TOOLUTIL_API U_IMPORT
331 #elif defined(U_LAYOUTEX_IMPLEMENTATION)
332 #define U_DATA_API U_IMPORT
333 #define U_COMMON_API U_IMPORT
334 #define U_I18N_API U_IMPORT
335 #define U_LAYOUT_API U_IMPORT
336 #define U_LAYOUTEX_API U_EXPORT
337 #define U_IO_API U_IMPORT
338 #define U_TOOLUTIL_API U_IMPORT
339 #elif defined(U_IO_IMPLEMENTATION)
340 #define U_DATA_API U_IMPORT
341 #define U_COMMON_API U_IMPORT
342 #define U_I18N_API U_IMPORT
343 #define U_LAYOUT_API U_IMPORT
344 #define U_LAYOUTEX_API U_IMPORT
345 #define U_IO_API U_EXPORT
346 #define U_TOOLUTIL_API U_IMPORT
347 #elif defined(U_TOOLUTIL_IMPLEMENTATION)
348 #define U_DATA_API U_IMPORT
349 #define U_COMMON_API U_IMPORT
350 #define U_I18N_API U_IMPORT
351 #define U_LAYOUT_API U_IMPORT
352 #define U_LAYOUTEX_API U_IMPORT
353 #define U_IO_API U_IMPORT
354 #define U_TOOLUTIL_API U_EXPORT
356 #define U_DATA_API U_IMPORT
357 #define U_COMMON_API U_IMPORT
358 #define U_I18N_API U_IMPORT
359 #define U_LAYOUT_API U_IMPORT
360 #define U_LAYOUTEX_API U_IMPORT
361 #define U_IO_API U_IMPORT
362 #define U_TOOLUTIL_API U_IMPORT
371 #define U_STANDARD_CPP_NAMESPACE ::
373 #define U_STANDARD_CPP_NAMESPACE
402 #if defined(__cplusplus) && U_DEBUG && U_OVERRIDE_CXX_ALLOCATION && (_MSC_VER>=1200) && !defined(U_STATIC_IMPLEMENTATION) && (defined(U_COMMON_IMPLEMENTATION) || defined(U_I18N_IMPLEMENTATION) || defined(U_IO_IMPLEMENTATION) || defined(U_LAYOUT_IMPLEMENTATION) || defined(U_LAYOUTEX_IMPLEMENTATION))
404 #ifndef U_HIDE_INTERNAL_API
411 operator new(
size_t ) {
427 operator new[](
size_t ) {
439 operator delete(
void * ) {
450 operator delete[](
void * ) {
655 U_IDNA_PROHIBITED_ERROR=0x10400,
656 U_IDNA_ERROR_START=0x10400,
657 U_IDNA_UNASSIGNED_ERROR,
658 U_IDNA_CHECK_BIDI_ERROR,
659 U_IDNA_STD3_ASCII_RULES_ERROR,
660 U_IDNA_ACE_PREFIX_ERROR,
661 U_IDNA_VERIFICATION_ERROR,
662 U_IDNA_LABEL_TOO_LONG_ERROR,
663 U_IDNA_ZERO_LENGTH_LABEL_ERROR,
664 U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR,
669 U_STRINGPREP_PROHIBITED_ERROR = U_IDNA_PROHIBITED_ERROR,
670 U_STRINGPREP_UNASSIGNED_ERROR = U_IDNA_UNASSIGNED_ERROR,
671 U_STRINGPREP_CHECK_BIDI_ERROR = U_IDNA_CHECK_BIDI_ERROR,
705 # define U_SUCCESS(x) ((x)<=U_ZERO_ERROR)
710 # define U_FAILURE(x) ((x)>U_ZERO_ERROR)
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.
const char * u_errorName(UErrorCode code)
Return a string for a UErrorCode value.
This must always be the last warning value to indicate the limit for UErrorCode warnings (last warnin...
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.
A special character is outside its allowed context.
!!option in RBBI rules not recognized.
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?
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 witing 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.
This must always be the last value to indicate the limit for UErrorCode (last error code +1) ...
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.
#define NULL
Define NULL if necessary, to 0 for C++ and to ((void *)0) for C.
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.
This must always be the last value to indicate the limit for plugin errors.
Unable to parse a message (message format)
Start of codes indicating Regexp failures.
This must always be the last value to indicate the limit for Break Iterator failures.
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.
The limit for Transliterator errors.
A UnicodeSet pattern is invalid.
Braces do not match in message pattern.
A quantifier appears after a segment close delimiter.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Regular expression backtrack stack overflow.
RegexMatcher in invalid state for requested operation.
ISO-2022 illlegal escape sequence.
This must always be the last value to indicate the limit for standard errors.
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 mal formed.
Missing '$' or duplicate variable name.
A Unicode escape pattern is invalid.
This must always be the last value to indicate the limit for regexp errors.
Grouping symbol in exponent pattern.
The limit for format library errors.
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.
ISO-2022 unsupported escape sequence.
A 'use' pragma is invlalid.
The plugin didn't call uplug_setPlugLevel in response to a QUERY.
RBBI rule $Variable redefined.
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
int8_t UBool
The ICU boolean type.
Argument name and argument index mismatch in MessageFormat functions.
More than one permill symbol in number pattern.
Conversion table file found, but corrupted.