umachine.h File Reference

Basic types and constants for UTF. More...

#include "unicode/platform.h"
#include <stddef.h>
#include "unicode/urename.h"

Go to the source code of this file.

Defines

#define U_CFUNC   extern
 This is used in a declaration of a library private ICU C function.

#define U_CDECL_BEGIN
 This is used to begin a declaration of a library private ICU C API.

#define U_CDECL_END
 This is used to end a declaration of a library private ICU C API.

#define U_NAMESPACE_BEGIN
 This is used to begin a declaration of a public ICU C++ API.

#define U_NAMESPACE_END
 This is used to end a declaration of a public ICU C++ API If the compiler doesn't support namespaces, this does nothing.

#define U_NAMESPACE_USE
 This is used to specify that the rest of the code uses the public ICU C++ API namespace.

#define U_NAMESPACE_QUALIFIER
 This is used to qualify that a function or class is part of the public ICU C++ API namespace.

#define U_CAPI   U_CFUNC U_EXPORT
 This is used to declare a function as a public ICU C API.

#define U_STABLE   U_CAPI
#define U_DRAFT   U_CAPI
#define U_DEPRECATED   U_CAPI
#define U_OBSOLETE   U_CAPI
#define U_INTERNAL   U_CAPI
#define INT8_MIN   ((int8_t)(-128))
 The smallest value an 8 bit signed integer can hold.

#define INT16_MIN   ((int16_t)(-32767-1))
 The smallest value a 16 bit signed integer can hold.

#define INT32_MIN   ((int32_t)(-2147483647-1))
 The smallest value a 32 bit signed integer can hold.

#define INT8_MAX   ((int8_t)(127))
 The largest value an 8 bit signed integer can hold.

#define INT16_MAX   ((int16_t)(32767))
 The largest value a 16 bit signed integer can hold.

#define INT32_MAX   ((int32_t)(2147483647))
 The largest value a 32 bit signed integer can hold.

#define UINT8_MAX   ((uint8_t)(255U))
 The largest value an 8 bit unsigned integer can hold.

#define UINT16_MAX   ((uint16_t)(65535U))
 The largest value a 16 bit unsigned integer can hold.

#define UINT32_MAX   ((uint32_t)(4294967295U))
 The largest value a 32 bit unsigned integer can hold.

#define INT64_C(c)   c ## LL
 Provides a platform independent way to specify a signed 64-bit integer constant.

#define UINT64_C(c)   c ## ULL
 Provides a platform independent way to specify an unsigned 64-bit integer constant.

#define U_INT64_MIN   ((int64_t)(INT64_C(-9223372036854775807)-1))
 The smallest value a 64 bit signed integer can hold.

#define U_INT64_MAX   ((int64_t)(INT64_C(9223372036854775807)))
 The largest value a 64 bit signed integer can hold.

#define U_UINT64_MAX   ((uint64_t)(UINT64_C(18446744073709551615)))
 The largest value a 64 bit unsigned integer can hold.

#define TRUE   1
 The TRUE value of a UBool.

#define FALSE   0
 The FALSE value of a UBool.

#define U_HAVE_WCHAR_H   1
 Indicates whether <wchar.h> is available (1) or not (0).

#define U_SIZEOF_WCHAR_T   4
 U_SIZEOF_WCHAR_T==sizeof(wchar_t) (0 means it is not defined or autoconf could not set it).

#define U_SIZEOF_UCHAR   2
 Number of bytes in a UChar.

#define U_ALIGN_CODE(n)
 This is used to align code fragments to a specific byte boundary.

#define U_INLINE

Typedefs

typedef int8_t UBool
 The ICU boolean type.

typedef uint16_t UChar
 Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned.

typedef int32_t UChar32
 Define UChar32 as a type for single Unicode code points.


Detailed Description

Basic types and constants for UTF.

Basic types and constants for UTF

This file defines basic types and constants for utf.h to be platform-independent. umachine.h and utf.h are included into utypes.h to provide all the general definitions for ICU. All of these definitions used to be in utypes.h before the UTF-handling macros made this unmaintainable.

Definition in file umachine.h.


Define Documentation

#define FALSE   0
 

The FALSE value of a UBool.

Stable:
ICU 2.0

Definition at line 270 of file umachine.h.

Referenced by UnicodeString::extract(), UnicodeString::getTerminatedBuffer(), UnicodeString::lastIndexOf(), and Normalizer::operator!=().

#define INT16_MAX   ((int16_t)(32767))
 

The largest value a 16 bit signed integer can hold.

Stable:
ICU 2.0

Definition at line 192 of file umachine.h.

#define INT16_MIN   ((int16_t)(-32767-1))
 

The smallest value a 16 bit signed integer can hold.

Stable:
ICU 2.0

Definition at line 176 of file umachine.h.

#define INT32_MAX   ((int32_t)(2147483647))
 

The largest value a 32 bit signed integer can hold.

Stable:
ICU 2.0

Definition at line 197 of file umachine.h.

#define INT32_MIN   ((int32_t)(-2147483647-1))
 

The smallest value a 32 bit signed integer can hold.

Stable:
ICU 2.0

Definition at line 181 of file umachine.h.

#define INT64_C  )     c ## LL
 

Provides a platform independent way to specify a signed 64-bit integer constant.

note: may be wrong for some 64 bit platforms - ensure your compiler provides INT64_C

Stable:
ICU 2.8

Definition at line 226 of file umachine.h.

#define INT8_MAX   ((int8_t)(127))
 

The largest value an 8 bit signed integer can hold.

Stable:
ICU 2.0

Definition at line 187 of file umachine.h.

#define INT8_MIN   ((int8_t)(-128))
 

The smallest value an 8 bit signed integer can hold.

Stable:
ICU 2.0

Definition at line 171 of file umachine.h.

#define TRUE   1
 

The TRUE value of a UBool.

Stable:
ICU 2.0

Definition at line 265 of file umachine.h.

Referenced by UnicodeString::getTerminatedBuffer(), and FieldPosition::operator=().

#define U_ALIGN_CODE  ) 
 

This is used to align code fragments to a specific byte boundary.

This is useful for getting consistent performance test results.

Internal:
Do not use. This API is for interal use only.

Definition at line 399 of file umachine.h.

#define U_CAPI   U_CFUNC U_EXPORT
 

This is used to declare a function as a public ICU C API.

Stable:
ICU 2.0

Definition at line 157 of file umachine.h.

#define U_CDECL_BEGIN
 

This is used to begin a declaration of a library private ICU C API.

Stable:
ICU 2.4

Definition at line 104 of file umachine.h.

#define U_CDECL_END
 

This is used to end a declaration of a library private ICU C API.

Stable:
ICU 2.4

Definition at line 105 of file umachine.h.

#define U_CFUNC   extern
 

This is used in a declaration of a library private ICU C function.

Stable:
ICU 2.4

Definition at line 103 of file umachine.h.

#define U_HAVE_WCHAR_H   1
 

Indicates whether <wchar.h> is available (1) or not (0).

Set to 1 by default.

Stable:
ICU 2.0

Definition at line 288 of file umachine.h.

#define U_INT64_MAX   ((int64_t)(INT64_C(9223372036854775807)))
 

The largest value a 64 bit signed integer can hold.

Stable:
ICU 2.8

Definition at line 245 of file umachine.h.

#define U_INT64_MIN   ((int64_t)(INT64_C(-9223372036854775807)-1))
 

The smallest value a 64 bit signed integer can hold.

Stable:
ICU 2.8

Definition at line 240 of file umachine.h.

#define U_NAMESPACE_BEGIN
 

This is used to begin a declaration of a public ICU C++ API.

If the compiler doesn't support namespaces, this does nothing.

Stable:
ICU 2.4

Definition at line 149 of file umachine.h.

#define U_NAMESPACE_END
 

This is used to end a declaration of a public ICU C++ API If the compiler doesn't support namespaces, this does nothing.

Stable:
ICU 2.4

Definition at line 150 of file umachine.h.

Referenced by ParagraphLayout::VisualRun::getAscent(), Replaceable::length(), FieldPosition::operator==(), and CollationElementIterator::secondaryOrder().

#define U_NAMESPACE_QUALIFIER
 

This is used to qualify that a function or class is part of the public ICU C++ API namespace.

If the compiler doesn't support namespaces, this does nothing.

Stable:
ICU 2.4

Definition at line 152 of file umachine.h.

#define U_NAMESPACE_USE
 

This is used to specify that the rest of the code uses the public ICU C++ API namespace.

If the compiler doesn't support namespaces, this does nothing.

Stable:
ICU 2.4

Definition at line 151 of file umachine.h.

#define U_SIZEOF_UCHAR   2
 

Number of bytes in a UChar.

Stable:
ICU 2.0

Definition at line 341 of file umachine.h.

#define U_SIZEOF_WCHAR_T   4
 

U_SIZEOF_WCHAR_T==sizeof(wchar_t) (0 means it is not defined or autoconf could not set it).

Stable:
ICU 2.0

Definition at line 300 of file umachine.h.

#define U_UINT64_MAX   ((uint64_t)(UINT64_C(18446744073709551615)))
 

The largest value a 64 bit unsigned integer can hold.

Stable:
ICU 2.8

Definition at line 250 of file umachine.h.

#define UINT16_MAX   ((uint16_t)(65535U))
 

The largest value a 16 bit unsigned integer can hold.

Stable:
ICU 2.0

Definition at line 208 of file umachine.h.

#define UINT32_MAX   ((uint32_t)(4294967295U))
 

The largest value a 32 bit unsigned integer can hold.

Stable:
ICU 2.0

Definition at line 213 of file umachine.h.

#define UINT64_C  )     c ## ULL
 

Provides a platform independent way to specify an unsigned 64-bit integer constant.

note: may be wrong for some 64 bit platforms - ensure your compiler provides UINT64_C

Stable:
ICU 2.8

Definition at line 235 of file umachine.h.

#define UINT8_MAX   ((uint8_t)(255U))
 

The largest value an 8 bit unsigned integer can hold.

Stable:
ICU 2.0

Definition at line 203 of file umachine.h.


Typedef Documentation

typedef int8_t UBool
 

The ICU boolean type.

Stable:
ICU 2.0

Definition at line 260 of file umachine.h.

Referenced by UnicodeString::caseCompareBetween(), UnicodeString::extract(), Calendar::getGregorianMonth(), UnicodeString::getTerminatedBuffer(), UnicodeString::lastIndexOf(), and RegexPattern::operator!=().

UChar
 

Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned.

If wchar_t is not 16 bits wide, then define UChar to be uint16_t. This makes the definition of UChar platform-dependent but allows direct string type compatibility with platforms with 16-bit wchar_t types.

Stable:
ICU 2.0

Definition at line 359 of file umachine.h.

Referenced by UnicodeString::caseCompare(), UnicodeString::compareCodePointOrder(), UnicodeString::extract(), UnicodeString::indexOf(), UnicodeString::lastIndexOf(), RegexPattern::operator!=(), UnicodeString::operator>(), UnicodeString::operator[](), UnicodeString::replace(), UnicodeString::replaceBetween(), and UnicodeString::startsWith().

typedef int32_t UChar32
 

Define UChar32 as a type for single Unicode code points.

UChar32 is a signed 32-bit integer (same as int32_t).

The Unicode code point range is 0..0x10ffff. All other values (negative or >=0x110000) are illegal as Unicode code points. They may be used as sentinel values to indicate "done", "error" or similar non-code point conditions.

Before ICU 2.4 (Jitterbug 2146), UChar32 was defined to be wchar_t if that is 32 bits wide (wchar_t may be signed or unsigned) or else to be uint32_t. That is, the definition of UChar32 was platform-dependent.

See also:
U_SENTINEL

Stable:
ICU 2.4

Definition at line 380 of file umachine.h.

Referenced by UnicodeString::caseCompare(), UnicodeString::compareCodePointOrder(), UnicodeString::endsWith(), UnicodeString::lastIndexOf(), and RegexPattern::operator!=().


Generated on Mon Jul 14 00:36:05 2008 for ICU 3.6 by doxygen 1.3.5