# platform.h File Reference

Basic types for the platform. More...

Go to the source code of this file.

## Defines
#define | UCLN_NO_AUTO_CLEANUP 1
| Determine wheter to enable auto cleanup of libraries.
#define | U_HAVE_DIRENT_H 1
| Define the platform we're on.
#define | U_HAVE_INTTYPES_H 1
| Define whether inttypes.h is available.
#define | U_IOSTREAM_SOURCE 199711
| Define what support for C++ streams is available.
#define | U_HAVE_STD_STRING 1
| Define whether the standard C++ (STL) <string> header is available.
#define | U_LIB_SUFFIX_C_NAME
| Define the library suffix with C syntax.
#define | U_LIB_SUFFIX_C_NAME_STRING ""
| Define the library suffix as a string with C syntax.
#define | U_HAVE_LIB_SUFFIX 0
| 1 if a custom library suffix is set
#define | U_HAVE_INT8_T 1
#define | U_HAVE_UINT8_T 1
#define | U_HAVE_INT16_T 1
#define | U_HAVE_UINT16_T 1
#define | U_HAVE_INT32_T 1
#define | U_HAVE_UINT32_T 1
#define | U_HAVE_INT64_T 1
#define | U_HAVE_UINT64_T 1
#define | U_HAVE_NAMESPACE 1
#define | U_IS_BIG_ENDIAN 0
#define | ICU_USE_THREADS 1
#define | U_DEBUG 0
#define | U_RELEASE 1
#define | U_DISABLE_RENAMING 0
#define | U_OVERRIDE_CXX_ALLOCATION 1
#define | U_HAVE_PLACEMENT_NEW 1
| U_OVERRIDE_CXX_ALLOCATION - Define this to override operator new and delete in UMemory.
#define | U_ENABLE_TRACING 0
#define | U_ENABLE_DYLOAD 1
| Whether to enable Dynamic loading in ICU.
#define | U_CHECK_DYLOAD 1
| Whether to test Dynamic loading as an OS capabilty.
#define | U_DEFAULT_SHOW_DRAFT 1
| Do we allow ICU users to use the draft APIs by default?
#define | U_HAVE_WCHAR_H 1
#define | U_SIZEOF_WCHAR_T 4
#define | U_HAVE_WCSCPY 1
#define | U_GNUC_UTF16_STRING 0
#define | U_HAVE_NL_LANGINFO_CODESET 1
#define | U_NL_LANGINFO_CODESET CODESET
#define | U_TZSET tzset
#define | U_TIMEZONE __timezone
#define | U_TZNAME tzname
#define | U_HAVE_MMAP 1
#define | U_HAVE_POPEN 1
#define | U_EXPORT __attribute__((visibility("default")))
#define | U_EXPORT2
#define | U_IMPORT
#define | U_INLINE __inline__
| This is used to request inlining of a function, on platforms and languages which support it.
#define | U_ALIGN_CODE(n)
#define | U_HAVE_GCC_ATOMICS 1
#define | U_MAKE "/usr/bin/gmake"
| What program to execute to run 'make'.

## Detailed Description

Basic types for the platform.

Definition in file platform.h.

## Define Documentation

#define ICU_USE_THREADS 1

Determines whether specific types are available

Definition at line 151 of file platform.h.

#define U_ALIGN_CODE | ( | n |  | ) |

Determines whether specific types are available

Definition at line 337 of file platform.h.

#define U_CHECK_DYLOAD 1

Whether to test Dynamic loading as an OS capabilty.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.4

Definition at line 200 of file platform.h.

#define U_DEBUG 0

Determines whether specific types are available

Definition at line 160 of file platform.h.

#define U_DISABLE_RENAMING 0

Determines whether specific types are available

Definition at line 170 of file platform.h.

#define U_ENABLE_DYLOAD 1

Whether to enable Dynamic loading in ICU.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.4

Definition at line 192 of file platform.h.

#define U_ENABLE_TRACING 0

Determines whether specific types are available

Definition at line 184 of file platform.h.

#define U_EXPORT __attribute__((visibility("default")))

Symbol import-export control

Definition at line 302 of file platform.h.

#define U_EXPORT2

Determines whether specific types are available

Definition at line 313 of file platform.h.

#define U_GNUC_UTF16_STRING 0

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

Definition at line 250 of file platform.h.

#define U_HAVE_DIRENT_H 1

Define the platform we're on.

Define whether dirent.h is available

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

Definition at line 58 of file platform.h.

#define U_HAVE_GCC_ATOMICS 1

GCC built in functions for atomic memory operations

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

Definition at line 351 of file platform.h.

#define U_HAVE_INT16_T 1

Determines whether specific types are available

Definition at line 106 of file platform.h.

#define U_HAVE_INT32_T 1

Determines whether specific types are available

Definition at line 114 of file platform.h.

#define U_HAVE_INT64_T 1

Determines whether specific types are available

Definition at line 122 of file platform.h.

#define U_HAVE_INT8_T 1

Determines whether specific types are available

Definition at line 98 of file platform.h.

#define U_HAVE_LIB_SUFFIX 0

1 if a custom library suffix is set

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

Definition at line 390 of file platform.h.

#define U_HAVE_MMAP 1

Determines whether specific types are available

Definition at line 292 of file platform.h.

#define U_HAVE_NAMESPACE 1

Compiler and environment features

Definition at line 137 of file platform.h.

#define U_HAVE_NL_LANGINFO_CODESET 1

Information about POSIX support

Definition at line 275 of file platform.h.

#define U_HAVE_PLACEMENT_NEW 1

U_OVERRIDE_CXX_ALLOCATION - Define this to override operator new and delete in UMemory.

Enabled by default for ICU.

Enabling forces all allocation of ICU object types to use ICU's memory allocation. On Windows, this allows the ICU DLL to be used by applications that statically link the C Runtime library, meaning that the app and ICU will be using different heaps.

Stable:
  ICU 2.2

Define this to define the placement new and delete in UMemory for STL.

Stable:
  ICU 2.6

#define U_HAVE_POPEN 1

Determines whether specific types are available

Definition at line 293 of file platform.h.

#define U_HAVE_STD_STRING 1

Define whether the standard C++ (STL) <string> header is available.

For platforms that do not use platform.h and do not define this constant in their platform-specific headers, std_string.h defaults U_HAVE_STD_STRING to 1.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

#define U_HAVE_UINT16_T 1

Determines whether specific types are available

Definition at line 110 of file platform.h.

#define U_HAVE_UINT32_T 1

Determines whether specific types are available

Definition at line 118 of file platform.h.

#define U_HAVE_UINT64_T 1

Determines whether specific types are available

Definition at line 126 of file platform.h.

#define U_HAVE_UINT8_T 1

Determines whether specific types are available

Definition at line 102 of file platform.h.

#define U_HAVE_WCHAR_H 1

Character data types Information about wchar support

Definition at line 226 of file platform.h.

#define U_HAVE_WCSCPY 1

Determines whether specific types are available

Definition at line 234 of file platform.h.

#define U_IMPORT

Determines whether specific types are available

Definition at line 319 of file platform.h.

#define U_INLINE __inline__

This is used to request inlining of a function, on platforms and languages which support it.

Code alignment and C function inlining

#define U_IOSTREAM_SOURCE 199711

Define what support for C++ streams is available.

If U_IOSTREAM_SOURCE is set to 199711, then <iostream> is available (1997711 is the date the ISO/IEC C++ FDIS was published), and then one should qualify streams using the std namespace in ICU header files. If U_IOSTREAM_SOURCE is set to 198506, then <iostream.h> is available instead (198506 is the date when Stroustrup published "An Extensible I/O Facility for C++" at the summer USENIX conference). If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and support for them will be silently suppressed in ICU.

Definition at line 81 of file platform.h.

#define U_IS_BIG_ENDIAN 0

Determines whether specific types are available

Definition at line 146 of file platform.h.

#define U_LIB_SUFFIX_C_NAME

Define the library suffix with C syntax.

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

Definition at line 380 of file platform.h.

#define U_LIB_SUFFIX_C_NAME_STRING ""

Define the library suffix as a string with C syntax.

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

Definition at line 385 of file platform.h.

#define U_MAKE "/usr/bin/gmake"

What program to execute to run 'make'.

Programs used by ICU code

Definition at line 365 of file platform.h.

#define U_NL_LANGINFO_CODESET CODESET

Determines whether specific types are available

Definition at line 279 of file platform.h.

#define U_OVERRIDE_CXX_ALLOCATION 1

Determines whether specific types are available

Definition at line 175 of file platform.h.

#define U_RELEASE 1

Determines whether specific types are available

Definition at line 164 of file platform.h.

#define U_SIZEOF_WCHAR_T 4

Determines whether specific types are available

Definition at line 230 of file platform.h.

#define U_TIMEZONE __timezone

Determines whether specific types are available

Definition at line 286 of file platform.h.

#define U_TZNAME tzname

Determines whether specific types are available

Definition at line 289 of file platform.h.

#define U_TZSET tzset

Determines whether specific types are available

Definition at line 283 of file platform.h.

#define UCLN_NO_AUTO_CLEANUP 1

Determine wheter to enable auto cleanup of libraries.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.4

Definition at line 41 of file platform.h.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines