#include "unicode/umachine.h"
#include "unicode/utf.h"
#include "unicode/uversion.h"
#include "unicode/putil.h"
Go to the source code of this file.
Defines | |
#define | U_ASCII_FAMILY 0 |
#define | U_EBCDIC_FAMILY 1 |
#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 |
#define | U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER |
A single string literal containing the icudata stub name, i.e. | |
#define | U_ICUDATA_ENTRY_POINT U_DEF2_ICUDATA_ENTRY_POINT(U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM) |
#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 |
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) |
#define | U_MILLIS_PER_MINUTE (60000) |
#define | U_MILLIS_PER_HOUR (3600000) |
#define | U_MILLIS_PER_DAY (86400000) |
#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_USTDIO_API U_IMPORT |
#define | U_STANDARD_CPP_NAMESPACE |
Control of C++ Namespace. | |
#define | U_SUCCESS(x) ((x)<=U_ZERO_ERROR) |
Does the error code indicate success? . | |
#define | U_FAILURE(x) ((x)>U_ZERO_ERROR) |
Does the error code indicate a failure? . | |
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 |
Enumerations | |
enum | UErrorCode { U_USING_FALLBACK_WARNING = -128, U_USING_FALLBACK_ERROR = -128, U_ERROR_WARNING_START = -128, U_ERROR_INFO_START = U_ERROR_WARNING_START, U_USING_DEFAULT_WARNING = -127, U_USING_DEFAULT_ERROR = -127, U_SAFECLONE_ALLOCATED_WARNING = -126, U_SAFECLONE_ALLOCATED_ERROR = -126, U_STATE_OLD_WARNING = -125, U_STRING_NOT_TERMINATED_WARNING = -124, U_SORT_KEY_TOO_SHORT_WARNING = -123, U_ERROR_WARNING_LIMIT, U_ERROR_INFO_LIMIT = 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_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_SEPERATORS, 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_ERROR_LIMIT = U_FMT_PARSE_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.
|
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. |
|
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 = 82 total) 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> |
|
A single string literal containing the icudata stub name, i.e. 'icudt18e' for ICU 1.8.x on EBCDIC, etc.. |
|
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.
|
|
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.
|
|
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. |
|
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. |