58 # ifndef U_SHOW_CPLUSPLUS_API
59 # define U_SHOW_CPLUSPLUS_API 1
62 # undef U_SHOW_CPLUSPLUS_API
63 # define U_SHOW_CPLUSPLUS_API 0
78 #if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_DRAFT_API)
79 #define U_HIDE_DRAFT_API 1
81 #if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_INTERNAL_API)
82 #define U_HIDE_INTERNAL_API 1
85 #ifdef U_HIDE_DRAFT_API
86 #include "unicode/udraft.h"
89 #ifdef U_HIDE_DEPRECATED_API
90 #include "unicode/udeprctd.h"
93 #ifdef U_HIDE_DEPRECATED_API
94 #include "unicode/uobslete.h"
97 #ifdef U_HIDE_INTERNAL_API
98 #include "unicode/uintrnal.h"
101 #ifdef U_HIDE_SYSTEM_API
102 #include "unicode/usystem.h"
116 #define U_ASCII_FAMILY 0
122 #define U_EBCDIC_FAMILY 1
167 #ifndef U_CHARSET_FAMILY
168 # define U_CHARSET_FAMILY 0
191 #ifndef U_CHARSET_IS_UTF8
192 # define U_CHARSET_IS_UTF8 0
218 # define U_ICUDATA_TYPE_LETTER "e"
219 # define U_ICUDATA_TYPE_LITLETTER e
221 # error "Don't know what to do with little endian EBCDIC!"
222 # define U_ICUDATA_TYPE_LETTER "x"
223 # define U_ICUDATA_TYPE_LITLETTER x
228 # define U_ICUDATA_TYPE_LETTER "b"
229 # define U_ICUDATA_TYPE_LITLETTER b
232 # define U_ICUDATA_TYPE_LETTER "l"
233 # define U_ICUDATA_TYPE_LITLETTER l
242 #define U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER
243 #define U_USRDATA_NAME "usrdt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER
244 #define U_USE_USRDATA 1
257 #define U_ICUDATA_ENTRY_POINT U_DEF2_ICUDATA_ENTRY_POINT(U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM)
263 #define U_DEF2_ICUDATA_ENTRY_POINT(major, minor) U_DEF_ICUDATA_ENTRY_POINT(major, minor)
268 #ifndef U_DEF_ICUDATA_ENTRY_POINT
270 #define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt##major##minor##_dat
284 #if defined(OS390) && defined(XP_CPLUSPLUS)
285 # define U_CALLCONV __cdecl
287 # define U_CALLCONV U_EXPORT2
299 #define NULL ((void *)0)
317 #define U_MILLIS_PER_SECOND (1000)
319 #define U_MILLIS_PER_MINUTE (60000)
321 #define U_MILLIS_PER_HOUR (3600000)
323 #define U_MILLIS_PER_DAY (86400000)
329 #define U_DATE_MAX DBL_MAX
335 #define U_DATE_MIN -U_DATE_MAX
454 #if defined(U_COMBINED_IMPLEMENTATION)
455 #define U_DATA_API U_EXPORT
456 #define U_COMMON_API U_EXPORT
457 #define U_I18N_API U_EXPORT
458 #define U_LAYOUT_API U_EXPORT
459 #define U_LAYOUTEX_API U_EXPORT
460 #define U_IO_API U_EXPORT
461 #define U_TOOLUTIL_API U_EXPORT
462 #elif defined(U_STATIC_IMPLEMENTATION)
467 #define U_LAYOUTEX_API
469 #define U_TOOLUTIL_API
470 #elif defined(U_COMMON_IMPLEMENTATION)
471 #define U_DATA_API U_IMPORT
472 #define U_COMMON_API U_EXPORT
473 #define U_I18N_API U_IMPORT
474 #define U_LAYOUT_API U_IMPORT
475 #define U_LAYOUTEX_API U_IMPORT
476 #define U_IO_API U_IMPORT
477 #define U_TOOLUTIL_API U_IMPORT
478 #elif defined(U_I18N_IMPLEMENTATION)
479 #define U_DATA_API U_IMPORT
480 #define U_COMMON_API U_IMPORT
481 #define U_I18N_API U_EXPORT
482 #define U_LAYOUT_API U_IMPORT
483 #define U_LAYOUTEX_API U_IMPORT
484 #define U_IO_API U_IMPORT
485 #define U_TOOLUTIL_API U_IMPORT
486 #elif defined(U_LAYOUT_IMPLEMENTATION)
487 #define U_DATA_API U_IMPORT
488 #define U_COMMON_API U_IMPORT
489 #define U_I18N_API U_IMPORT
490 #define U_LAYOUT_API U_EXPORT
491 #define U_LAYOUTEX_API U_IMPORT
492 #define U_IO_API U_IMPORT
493 #define U_TOOLUTIL_API U_IMPORT
494 #elif defined(U_LAYOUTEX_IMPLEMENTATION)
495 #define U_DATA_API U_IMPORT
496 #define U_COMMON_API U_IMPORT
497 #define U_I18N_API U_IMPORT
498 #define U_LAYOUT_API U_IMPORT
499 #define U_LAYOUTEX_API U_EXPORT
500 #define U_IO_API U_IMPORT
501 #define U_TOOLUTIL_API U_IMPORT
502 #elif defined(U_IO_IMPLEMENTATION)
503 #define U_DATA_API U_IMPORT
504 #define U_COMMON_API U_IMPORT
505 #define U_I18N_API U_IMPORT
506 #define U_LAYOUT_API U_IMPORT
507 #define U_LAYOUTEX_API U_IMPORT
508 #define U_IO_API U_EXPORT
509 #define U_TOOLUTIL_API U_IMPORT
510 #elif defined(U_TOOLUTIL_IMPLEMENTATION)
511 #define U_DATA_API U_IMPORT
512 #define U_COMMON_API U_IMPORT
513 #define U_I18N_API U_IMPORT
514 #define U_LAYOUT_API U_IMPORT
515 #define U_LAYOUTEX_API U_IMPORT
516 #define U_IO_API U_IMPORT
517 #define U_TOOLUTIL_API U_EXPORT
519 #define U_DATA_API U_IMPORT
520 #define U_COMMON_API U_IMPORT
521 #define U_I18N_API U_IMPORT
522 #define U_LAYOUT_API U_IMPORT
523 #define U_LAYOUTEX_API U_IMPORT
524 #define U_IO_API U_IMPORT
525 #define U_TOOLUTIL_API U_IMPORT
534 #define U_STANDARD_CPP_NAMESPACE ::
536 #define U_STANDARD_CPP_NAMESPACE
565 #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))
567 #ifndef U_HIDE_INTERNAL_API
574 operator new(
size_t ) {
590 operator new[](
size_t ) {
602 operator delete(
void * ) {
613 operator delete[](
void * ) {
818 U_IDNA_PROHIBITED_ERROR=0x10400,
819 U_IDNA_ERROR_START=0x10400,
820 U_IDNA_UNASSIGNED_ERROR,
821 U_IDNA_CHECK_BIDI_ERROR,
822 U_IDNA_STD3_ASCII_RULES_ERROR,
823 U_IDNA_ACE_PREFIX_ERROR,
824 U_IDNA_VERIFICATION_ERROR,
825 U_IDNA_LABEL_TOO_LONG_ERROR,
826 U_IDNA_ZERO_LENGTH_LABEL_ERROR,
827 U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR,
832 U_STRINGPREP_PROHIBITED_ERROR = U_IDNA_PROHIBITED_ERROR,
833 U_STRINGPREP_UNASSIGNED_ERROR = U_IDNA_UNASSIGNED_ERROR,
834 U_STRINGPREP_CHECK_BIDI_ERROR = U_IDNA_CHECK_BIDI_ERROR,
868 # define U_SUCCESS(x) ((x)<=U_ZERO_ERROR)
873 # 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.
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.
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.
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.
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.