45 #if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_DRAFT_API)
46 #define U_HIDE_DRAFT_API 1
49 #ifdef U_HIDE_DRAFT_API
50 #include "unicode/udraft.h"
53 #ifdef U_HIDE_DEPRECATED_API
54 #include "unicode/udeprctd.h"
57 #ifdef U_HIDE_DEPRECATED_API
58 #include "unicode/uobslete.h"
61 #ifdef U_HIDE_INTERNAL_API
62 #include "unicode/uintrnal.h"
65 #ifdef U_HIDE_SYSTEM_API
66 #include "unicode/usystem.h"
87 #define U_ASCII_FAMILY 0
93 #define U_EBCDIC_FAMILY 1
138 #ifndef U_CHARSET_FAMILY
139 # define U_CHARSET_FAMILY 0
162 #ifndef U_CHARSET_IS_UTF8
163 # define U_CHARSET_IS_UTF8 0
189 # define U_ICUDATA_TYPE_LETTER "e"
190 # define U_ICUDATA_TYPE_LITLETTER e
192 # error "Don't know what to do with little endian EBCDIC!"
193 # define U_ICUDATA_TYPE_LETTER "x"
194 # define U_ICUDATA_TYPE_LITLETTER x
199 # define U_ICUDATA_TYPE_LETTER "b"
200 # define U_ICUDATA_TYPE_LITLETTER b
203 # define U_ICUDATA_TYPE_LETTER "l"
204 # define U_ICUDATA_TYPE_LITLETTER l
213 #define U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER
227 #define U_ICUDATA_ENTRY_POINT U_DEF2_ICUDATA_ENTRY_POINT(U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM)
233 #define U_DEF2_ICUDATA_ENTRY_POINT(major, minor) U_DEF_ICUDATA_ENTRY_POINT(major, minor)
238 #define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt##major##minor##_dat
251 #if defined(OS390) && (__COMPILER_VER__ < 0x41020000) && defined(XP_CPLUSPLUS)
252 # define U_CALLCONV __cdecl
254 # define U_CALLCONV U_EXPORT2
266 #define NULL ((void *)0)
284 #define U_MILLIS_PER_SECOND (1000)
286 #define U_MILLIS_PER_MINUTE (60000)
288 #define U_MILLIS_PER_HOUR (3600000)
290 #define U_MILLIS_PER_DAY (86400000)
408 #if defined(U_COMBINED_IMPLEMENTATION)
409 #define U_DATA_API U_EXPORT
410 #define U_COMMON_API U_EXPORT
411 #define U_I18N_API U_EXPORT
412 #define U_LAYOUT_API U_EXPORT
413 #define U_LAYOUTEX_API U_EXPORT
414 #define U_IO_API U_EXPORT
415 #define U_TOOLUTIL_API U_EXPORT
416 #elif defined(U_STATIC_IMPLEMENTATION)
421 #define U_LAYOUTEX_API
423 #define U_TOOLUTIL_API
424 #elif defined(U_COMMON_IMPLEMENTATION)
425 #define U_DATA_API U_IMPORT
426 #define U_COMMON_API U_EXPORT
427 #define U_I18N_API U_IMPORT
428 #define U_LAYOUT_API U_IMPORT
429 #define U_LAYOUTEX_API U_IMPORT
430 #define U_IO_API U_IMPORT
431 #define U_TOOLUTIL_API U_IMPORT
432 #elif defined(U_I18N_IMPLEMENTATION)
433 #define U_DATA_API U_IMPORT
434 #define U_COMMON_API U_IMPORT
435 #define U_I18N_API U_EXPORT
436 #define U_LAYOUT_API U_IMPORT
437 #define U_LAYOUTEX_API U_IMPORT
438 #define U_IO_API U_IMPORT
439 #define U_TOOLUTIL_API U_IMPORT
440 #elif defined(U_LAYOUT_IMPLEMENTATION)
441 #define U_DATA_API U_IMPORT
442 #define U_COMMON_API U_IMPORT
443 #define U_I18N_API U_IMPORT
444 #define U_LAYOUT_API U_EXPORT
445 #define U_LAYOUTEX_API U_IMPORT
446 #define U_IO_API U_IMPORT
447 #define U_TOOLUTIL_API U_IMPORT
448 #elif defined(U_LAYOUTEX_IMPLEMENTATION)
449 #define U_DATA_API U_IMPORT
450 #define U_COMMON_API U_IMPORT
451 #define U_I18N_API U_IMPORT
452 #define U_LAYOUT_API U_IMPORT
453 #define U_LAYOUTEX_API U_EXPORT
454 #define U_IO_API U_IMPORT
455 #define U_TOOLUTIL_API U_IMPORT
456 #elif defined(U_IO_IMPLEMENTATION)
457 #define U_DATA_API U_IMPORT
458 #define U_COMMON_API U_IMPORT
459 #define U_I18N_API U_IMPORT
460 #define U_LAYOUT_API U_IMPORT
461 #define U_LAYOUTEX_API U_IMPORT
462 #define U_IO_API U_EXPORT
463 #define U_TOOLUTIL_API U_IMPORT
464 #elif defined(U_TOOLUTIL_IMPLEMENTATION)
465 #define U_DATA_API U_IMPORT
466 #define U_COMMON_API U_IMPORT
467 #define U_I18N_API U_IMPORT
468 #define U_LAYOUT_API U_IMPORT
469 #define U_LAYOUTEX_API U_IMPORT
470 #define U_IO_API U_IMPORT
471 #define U_TOOLUTIL_API U_EXPORT
473 #define U_DATA_API U_IMPORT
474 #define U_COMMON_API U_IMPORT
475 #define U_I18N_API U_IMPORT
476 #define U_LAYOUT_API U_IMPORT
477 #define U_LAYOUTEX_API U_IMPORT
478 #define U_IO_API U_IMPORT
479 #define U_TOOLUTIL_API U_IMPORT
488 #define U_STANDARD_CPP_NAMESPACE ::
490 #define U_STANDARD_CPP_NAMESPACE
519 #if defined(XP_CPLUSPLUS) && defined(U_WINDOWS) && 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))
521 #ifndef U_HIDE_INTERNAL_API
528 operator new(
size_t ) {
544 operator new[](
size_t ) {
556 operator delete(
void * ) {
567 operator delete[](
void * ) {
768 U_IDNA_PROHIBITED_ERROR=0x10400,
769 U_IDNA_ERROR_START=0x10400,
770 U_IDNA_UNASSIGNED_ERROR,
771 U_IDNA_CHECK_BIDI_ERROR,
772 U_IDNA_STD3_ASCII_RULES_ERROR,
773 U_IDNA_ACE_PREFIX_ERROR,
774 U_IDNA_VERIFICATION_ERROR,
775 U_IDNA_LABEL_TOO_LONG_ERROR,
776 U_IDNA_ZERO_LENGTH_LABEL_ERROR,
777 U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR,
782 U_STRINGPREP_PROHIBITED_ERROR = U_IDNA_PROHIBITED_ERROR,
783 U_STRINGPREP_UNASSIGNED_ERROR = U_IDNA_UNASSIGNED_ERROR,
784 U_STRINGPREP_CHECK_BIDI_ERROR = U_IDNA_CHECK_BIDI_ERROR,
811 # define U_SUCCESS(x) ((x)<=U_ZERO_ERROR)
816 # define U_FAILURE(x) ((x)>U_ZERO_ERROR)
Typo: kept for backward compatibility.
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.
Switches for excluding parts of ICU library code modules.
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.
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.
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: Contains all the important version numbers for ICU.
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.
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.
Undefined Pluarl 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.
void * UClassID
UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ c...
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.
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.