#include "unicode/umachine.h"
#include "unicode/utf.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 |
These definitions allow to specify the encoding of text in the char data type as defined by the platform and the compiler. More... | |
#define | U_ICU_VERSION_MAJOR_NUM 1 |
The current ICU major version as an integer. More... | |
#define | U_ICU_VERSION_MINOR_NUM 8 |
The current ICU minor version as an integer. More... | |
#define | U_ICU_VERSION_PATCHLEVEL_NUM 0 |
The current ICU patchlevel version as an integer. More... | |
#define | U_ICU_VERSION "1.8" |
The current ICU library version as a dotted-decimal string. More... | |
#define | U_ICU_VERSION_SHORT "18" |
The current ICU library major/minor version as a string without dots, for library name suffixes. More... | |
#define | U_MAX_VERSION_LENGTH 4 |
An ICU version consists of up to 4 numbers from 0..255. More... | |
#define | U_VERSION_DELIMITER '.' |
In a string, ICU version fields are delimited by dots. More... | |
#define | U_MAX_VERSION_STRING_LENGTH 20 |
The maximum length of an ICU version string. More... | |
#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. More... | |
#define | U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER |
A single string literal containing the icudata stub name, i.e. More... | |
#define | U_CALLCONV |
Work around the OS390 compiler issue, to be removed when the compiler updates come out. More... | |
#define | NULL 0 |
Define NULL if necessary, to 0 for C++ and to ((void *)0) for C. More... | |
#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. More... | |
#define | U_I18N_API U_IMPORT |
Set to export library symbols from inside the i18n library, and to import them from outside. More... | |
#define | U_LAYOUT_API U_IMPORT |
Set to export library symbols from inside the layout engine library, and to import them from outside. More... | |
#define | U_STANDARD_CPP_NAMESPACE |
Control of C++ Namespace. More... | |
#define | U_COPYRIGHT_STRING |
#define | U_COPYRIGHT_STRING_LENGTH 128 |
Typedefs | |
typedef uint8_t | UVersionInfo [U_MAX_VERSION_LENGTH] |
The binary form of a version on ICU APIs is an array of 4 uint8_t. More... | |
typedef double | UDate |
Date and Time data type. More... | |
typedef void* | UClassID |
UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ compilers. More... | |
typedef void* | UMTX |
Mutex data type. More... | |
Enumerations | |
enum | UErrorCode { U_ERROR_INFO_START = -128, U_USING_FALLBACK_ERROR = -128, U_USING_DEFAULT_ERROR = -127, U_SAFECLONE_ALLOCATED_ERROR = -126, U_ERROR_INFO_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_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 | |
UBool | U_SUCCESS (UErrorCode code) |
Does the error code indicate success? More... | |
UBool | U_FAILURE (UErrorCode code) |
Does the error code indicate a failure? More... | |
U_CAPI const char* U_EXPORT2 | u_errorName (UErrorCode code) |
Return a string for a UErrorCode value. More... |
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.
Definition in file utypes.h.
|
Define NULL if necessary, to 0 for C++ and to ((void *)0) for C.
|
|
|
|
Work around the OS390 compiler issue, to be removed when the compiler updates come out.
|
|
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> |
|
Set to export library symbols from inside the common library, and to import them from outside.
|
|
Initializer: \ " Copyright (C) 2001, International Business Machines Corporation and others. All Rights Reserved. " |
|
|
|
|
|
Set to export library symbols from inside the i18n library, and to import them from outside.
|
|
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.
|
|
The current ICU library version as a dotted-decimal string.
|
|
The current ICU major version as an integer.
|
|
The current ICU minor version as an integer.
|
|
The current ICU patchlevel version as an integer.
|
|
The current ICU library major/minor version as a string without dots, for library name suffixes.
|
|
Set to export library symbols from inside the layout engine library, and to import them from outside.
|
|
An ICU version consists of up to 4 numbers from 0..255.
|
|
The maximum length of an ICU version string.
|
|
|
|
|
|
|
|
|
|
Control of C++ Namespace.
|
|
In a string, ICU version fields are delimited by dots.
|
|
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. getDynamicClassID() is declared in the base class of the hierarchy as a pure virtual. Each concrete subclass implements it in the same way:
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.
class Derived { public: static UClassID getStaticClassID(); private: static char fgClassID; } // In Derived.cpp: UClassID Derived::getStaticClassID() { return (UClassID)&Derived::fgClassID; } char Derived::fgClassID = 0; // Value is irrelevant |
|
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. |
|
Mutex data type.
For internal use only. |
|
The binary form of a version on ICU APIs is an array of 4 uint8_t.
|
|
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++.
ICU functions that take a reference (C++) or a pointer (C) to a UErrorCode first test if(U_FAILURE(errorCode)) { return immediately; } so that in a chain of such functions the first one that sets an error code causes the following ones to not perform any operations. Error codes should be tested using U_FAILURE() and U_SUCCESS().
|
|
Does the error code indicate a failure?
Definition at line 389 of file utypes.h. Referenced by RuleBasedCollator::setUCollator(). |
|
Does the error code indicate success?
Definition at line 384 of file utypes.h. Referenced by BiDi::BiDi(), Unicode::getCharName(), Normalizer::getNormalizerEMode(), and Normalizer::getUNormalizationMode(). |
|
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. |