#include "unicode/umachine.h"
#include "unicode/utf.h"
#include "unicode/uversion.h"
#include "unicode/uconfig.h"
#include "unicode/putil.h"
Go to the source code of this file.
Defines | |
#define | U_ASCII_FAMILY 0 |
U_CHARSET_FAMILY is equal to this value when the platform is an ASCII based platform. | |
#define | U_EBCDIC_FAMILY 1 |
U_CHARSET_FAMILY is equal to this value when the platform is an EBCDIC based platform. | |
#define | U_CHARSET_FAMILY 0 |
#define | U_ICUDATA_TYPE_LETTER "l" |
This is a platform-dependent string containing one letter: b for big-endian, ASCII-family platforms l for little-endian, ASCII-family platforms e for big-endian, EBCDIC-family platforms This letter is part of the common data file name. | |
#define | U_ICUDATA_TYPE_LITLETTER l |
The non-string form of U_ICUDATA_TYPE_LETTER ICU 2.0. | |
#define | U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER |
A single string literal containing the icudata stub name. | |
#define | U_ICUDATA_ENTRY_POINT U_DEF2_ICUDATA_ENTRY_POINT(U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM) |
U_ICU_ENTRY_POINT is the name of the DLL entry point to the ICU data library. | |
#define | U_DEF2_ICUDATA_ENTRY_POINT(major, minor) U_DEF_ICUDATA_ENTRY_POINT(major, minor) |
#define | U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt##major##minor##_dat |
#define | U_CALLCONV U_EXPORT2 |
Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to make sure that the calling convention is compatible. | |
#define | NULL ((void *)0) |
Define NULL if necessary, to 0 for C++ and to ((void *)0) for C. | |
#define | U_MILLIS_PER_SECOND (1000) |
The number of milliseconds per second ICU 2.0. | |
#define | U_MILLIS_PER_MINUTE (60000) |
The number of milliseconds per minute ICU 2.0. | |
#define | U_MILLIS_PER_HOUR (3600000) |
The number of milliseconds per hour ICU 2.0. | |
#define | U_MILLIS_PER_DAY (86400000) |
The number of milliseconds per day ICU 2.0. | |
#define | U_COMMON_API U_IMPORT |
Set to export library symbols from inside the common library, and to import them from outside. | |
#define | U_I18N_API U_IMPORT |
Set to export library symbols from inside the i18n library, and to import them from outside. | |
#define | U_LAYOUT_API U_IMPORT |
Set to export library symbols from inside the layout engine library, and to import them from outside. | |
#define | U_LAYOUTEX_API U_IMPORT |
Set to export library symbols from inside the layout extensions library, and to import them from outside. | |
#define | U_USTDIO_API U_IMPORT |
Set to export library symbols from inside the ustdio library, and to import them from outside. | |
#define | U_STANDARD_CPP_NAMESPACE |
Control of C++ Namespace ICU 2.0. | |
#define | U_SUCCESS(x) ((x)<=U_ZERO_ERROR) |
Does the error code indicate success? ICU 2.0. | |
#define | U_FAILURE(x) ((x)>U_ZERO_ERROR) |
Does the error code indicate a failure? ICU 2.0. | |
Typedefs | |
typedef double | UDate |
Date and Time data type. | |
typedef void * | UClassID |
UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ compilers. | |
typedef enum UErrorCode | UErrorCode |
Error code to replace exception handling, so that the code is compatible with all C++ compilers, and to use the same mechanism for C and C++. | |
Enumerations | |
enum | UErrorCode { U_USING_FALLBACK_WARNING = -128, U_ERROR_WARNING_START = -128, U_USING_DEFAULT_WARNING = -127, U_SAFECLONE_ALLOCATED_WARNING = -126, U_STATE_OLD_WARNING = -125, U_STRING_NOT_TERMINATED_WARNING = -124, U_SORT_KEY_TOO_SHORT_WARNING = -123, U_AMBIGUOUS_ALIAS_WARNING = -122, U_DIFFERENT_UCA_VERSION = -121, U_ERROR_WARNING_LIMIT, U_ZERO_ERROR = 0, U_ILLEGAL_ARGUMENT_ERROR = 1, U_MISSING_RESOURCE_ERROR = 2, U_INVALID_FORMAT_ERROR = 3, U_FILE_ACCESS_ERROR = 4, U_INTERNAL_PROGRAM_ERROR = 5, U_MESSAGE_PARSE_ERROR = 6, U_MEMORY_ALLOCATION_ERROR = 7, U_INDEX_OUTOFBOUNDS_ERROR = 8, U_PARSE_ERROR = 9, U_INVALID_CHAR_FOUND = 10, U_TRUNCATED_CHAR_FOUND = 11, U_ILLEGAL_CHAR_FOUND = 12, U_INVALID_TABLE_FORMAT = 13, U_INVALID_TABLE_FILE = 14, U_BUFFER_OVERFLOW_ERROR = 15, U_UNSUPPORTED_ERROR = 16, U_RESOURCE_TYPE_MISMATCH = 17, U_ILLEGAL_ESCAPE_SEQUENCE = 18, U_UNSUPPORTED_ESCAPE_SEQUENCE = 19, U_NO_SPACE_AVAILABLE = 20, U_CE_NOT_FOUND_ERROR = 21, U_PRIMARY_TOO_LONG_ERROR = 22, U_STATE_TOO_OLD_ERROR = 23, U_TOO_MANY_ALIASES_ERROR = 24, U_ENUM_OUT_OF_SYNC_ERROR = 25, U_INVARIANT_CONVERSION_ERROR = 26, U_STANDARD_ERROR_LIMIT, U_BAD_VARIABLE_DEFINITION = 0x10000, U_PARSE_ERROR_START = 0x10000, U_MALFORMED_RULE, U_MALFORMED_SET, U_MALFORMED_SYMBOL_REFERENCE, U_MALFORMED_UNICODE_ESCAPE, U_MALFORMED_VARIABLE_DEFINITION, U_MALFORMED_VARIABLE_REFERENCE, U_MISMATCHED_SEGMENT_DELIMITERS, U_MISPLACED_ANCHOR_START, U_MISPLACED_CURSOR_OFFSET, U_MISPLACED_QUANTIFIER, U_MISSING_OPERATOR, U_MISSING_SEGMENT_CLOSE, U_MULTIPLE_ANTE_CONTEXTS, U_MULTIPLE_CURSORS, U_MULTIPLE_POST_CONTEXTS, U_TRAILING_BACKSLASH, U_UNDEFINED_SEGMENT_REFERENCE, U_UNDEFINED_VARIABLE, U_UNQUOTED_SPECIAL, U_UNTERMINATED_QUOTE, U_RULE_MASK_ERROR, U_MISPLACED_COMPOUND_FILTER, U_MULTIPLE_COMPOUND_FILTERS, U_INVALID_RBT_SYNTAX, U_INVALID_PROPERTY_PATTERN, U_MALFORMED_PRAGMA, U_UNCLOSED_SEGMENT, U_ILLEGAL_CHAR_IN_SEGMENT, U_VARIABLE_RANGE_EXHAUSTED, U_VARIABLE_RANGE_OVERLAP, U_ILLEGAL_CHARACTER, U_INTERNAL_TRANSLITERATOR_ERROR, U_INVALID_ID, U_INVALID_FUNCTION, U_PARSE_ERROR_LIMIT, U_UNEXPECTED_TOKEN = 0x10100, U_FMT_PARSE_ERROR_START = 0x10100, U_MULTIPLE_DECIMAL_SEPARATORS, U_MULTIPLE_DECIMAL_SEPERATORS = U_MULTIPLE_DECIMAL_SEPARATORS, U_MULTIPLE_EXPONENTIAL_SYMBOLS, U_MALFORMED_EXPONENTIAL_PATTERN, U_MULTIPLE_PERCENT_SYMBOLS, U_MULTIPLE_PERMILL_SYMBOLS, U_MULTIPLE_PAD_SPECIFIERS, U_PATTERN_SYNTAX_ERROR, U_ILLEGAL_PAD_POSITION, U_UNMATCHED_BRACES, U_UNSUPPORTED_PROPERTY, U_UNSUPPORTED_ATTRIBUTE, U_FMT_PARSE_ERROR_LIMIT, U_BRK_ERROR_START = 0x10200, U_BRK_INTERNAL_ERROR, U_BRK_HEX_DIGITS_EXPECTED, U_BRK_SEMICOLON_EXPECTED, U_BRK_RULE_SYNTAX, U_BRK_UNCLOSED_SET, U_BRK_ASSIGN_ERROR, U_BRK_VARIABLE_REDFINITION, U_BRK_MISMATCHED_PAREN, U_BRK_NEW_LINE_IN_QUOTED_STRING, U_BRK_UNDEFINED_VARIABLE, U_BRK_INIT_ERROR, U_BRK_RULE_EMPTY_SET, U_BRK_ERROR_LIMIT, U_REGEX_ERROR_START = 0x10300, U_REGEX_INTERNAL_ERROR, U_REGEX_RULE_SYNTAX, U_REGEX_INVALID_STATE, U_REGEX_BAD_ESCAPE_SEQUENCE, U_REGEX_PROPERTY_SYNTAX, U_REGEX_UNIMPLEMENTED, U_REGEX_MISMATCHED_PAREN, U_REGEX_NUMBER_TOO_BIG, U_REGEX_BAD_INTERVAL, U_REGEX_MAX_LT_MIN, U_REGEX_INVALID_BACK_REF, U_REGEX_INVALID_FLAG, U_REGEX_LOOK_BEHIND_LIMIT, U_REGEX_SET_CONTAINS_STRING, U_REGEX_ERROR_LIMIT, U_IDNA_ERROR_START = 0x10400, U_IDNA_PROHIBITED_CODEPOINT_FOUND_ERROR, U_IDNA_UNASSIGNED_CODEPOINT_FOUND_ERROR, U_IDNA_CHECK_BIDI_ERROR, U_IDNA_STD3_ASCII_RULES_ERROR, U_IDNA_ACE_PREFIX_ERROR, U_IDNA_VERIFICATION_ERROR, U_IDNA_LABEL_TOO_LONG_ERROR, U_IDNA_ERROR_LIMIT, U_ERROR_LIMIT = U_IDNA_ERROR_LIMIT } |
Error code to replace exception handling, so that the code is compatible with all C++ compilers, and to use the same mechanism for C and C++. More... | |
Functions | |
U_CAPI const char *U_EXPORT2 | u_errorName (UErrorCode code) |
Return a string for a UErrorCode value. |
This file defines basic types, constants, and enumerations directly or indirectly by including other header files, especially utf.h for the basic character and string definitions and umachine.h for consistent integer and other types.
|
Define NULL if necessary, to 0 for C++ and to ((void *)0) for C. ICU 2.0 |
|
U_CHARSET_FAMILY is equal to this value when the platform is an ASCII based platform. ICU 2.0 |
|
Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to make sure that the calling convention is compatible. This is only used for non-ICU-API functions. When a function is a public ICU API, you must use the U_CAPI and U_EXPORT2 qualifiers. ICU 2.0 |
|
These definitions allow to specify the encoding of text in the char data type as defined by the platform and the compiler. It is enough to determine the code point values of "invariant characters", which are the ones shared by all encodings that are in use on a given platform.
Those "invariant characters" should be all the uppercase and lowercase latin letters, the digits, the space, and "basic punctuation". Also, '
The list of "invariant characters" is: A-Z a-z 0-9 SPACE " % & ' ( ) * + , - . / : ; < = > ? _
(52 letters + 10 numbers + 20 punc/sym/space = 82 total) This matches the IBM Syntactic Character Set (CS 640). In other words, all the graphic characters in 7-bit ASCII should be safely accessible except the following:
'\' <backslash> '[' <left bracket> ']' <right bracket> '{' <left brace> '}' <right brace> '^' <circumflex> '~' <tilde> '!' <exclamation mark> '#' <number sign> '|' <vertical line> '$' <dollar sign> '@' <commercial at> '`' <grave accent> |
|
Set to export library symbols from inside the common library, and to import them from outside. ICU 2.0 |
|
For internal use only.
|
|
For internal use only.
|
|
U_CHARSET_FAMILY is equal to this value when the platform is an EBCDIC based platform. ICU 2.0 |
|
Set to export library symbols from inside the i18n library, and to import them from outside. ICU 2.0 |
|
U_ICU_ENTRY_POINT is the name of the DLL entry point to the ICU data library. Defined as a literal, not a string. Tricky Preprocessor use - ## operator replaces macro paramters with the literal string from the corresponding macro invocation, _before_ other macro substitutions. Need a nested #defines to get the actual version numbers rather than the literal text U_ICU_VERSION_MAJOR_NUM into the name. The net result will be something of the form #define U_ICU_ENTRY_POINT icudt19_dat ICU 2.4 |
|
A single string literal containing the icudata stub name. i.e. 'icudt18e' for ICU 1.8.x on EBCDIC, etc.. ICU 2.0 |
|
This is a platform-dependent string containing one letter: b for big-endian, ASCII-family platforms l for little-endian, ASCII-family platforms e for big-endian, EBCDIC-family platforms This letter is part of the common data file name.
|
|
Set to export library symbols from inside the layout engine library, and to import them from outside. ICU 2.0 |
|
Set to export library symbols from inside the layout extensions library, and to import them from outside. ICU 2.6 |
|
Set to export library symbols from inside the ustdio library, and to import them from outside. ICU 2.0 |
|
UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ compilers. Each class hierarchy which needs to implement polymorphic clone() or operator==() defines two methods, described in detail below. UClassID values can be compared using operator==(). Nothing else should be done with them.
class Base { public: virtual UClassID getDynamicClassID() const = 0; } class Derived { public: virtual UClassID getDynamicClassID() const { return Derived::getStaticClassID(); } } Each concrete class implements getStaticClassID() as well, which allows clients to test for a specific type. ICU 2.0 |
|
Date and Time data type. This is a primitive data type that holds the date and time as the number of milliseconds since 1970-jan-01, 00:00 UTC. UTC leap seconds are ignored. ICU 2.0 |
|
Error code to replace exception handling, so that the code is compatible with all C++ compilers, and to use the same mechanism for C and C++.
|
|
Error code to replace exception handling, so that the code is compatible with all C++ compilers, and to use the same mechanism for C and C++.
|
|
Return a string for a UErrorCode value. The string will be the same as the name of the error code constant in the UErrorCode enum above. ICU 2.0 |