ICU 4.8.1.1
4.8.1.1
|
00001 /* 00002 ******************************************************************************* 00003 * Copyright (C) 2000-2010, International Business Machines 00004 * Corporation and others. All Rights Reserved. 00005 ******************************************************************************* 00006 * 00007 * file name: uversion.h 00008 * encoding: US-ASCII 00009 * tab size: 8 (not used) 00010 * indentation:4 00011 * 00012 * Created by: Vladimir Weinstein 00013 * 00014 * Gets included by utypes.h and Windows .rc files 00015 */ 00016 00021 /*===========================================================================*/ 00022 /* Main ICU version information */ 00023 /*===========================================================================*/ 00024 00025 #ifndef UVERSION_H 00026 #define UVERSION_H 00027 00028 #include "unicode/umachine.h" 00029 00030 /* Actual version info lives in uvernum.h */ 00031 #include "unicode/uvernum.h" 00032 00036 #define U_COPYRIGHT_STRING_LENGTH 128 00037 00041 #define U_MAX_VERSION_LENGTH 4 00042 00046 #define U_VERSION_DELIMITER '.' 00047 00051 #define U_MAX_VERSION_STRING_LENGTH 20 00052 00057 typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; 00058 00059 /*===========================================================================*/ 00060 /* C++ namespace if supported. Versioned unless versioning is disabled. */ 00061 /*===========================================================================*/ 00062 00101 /* Define namespace symbols if the compiler supports it. */ 00102 #ifdef XP_CPLUSPLUS 00103 #if U_HAVE_NAMESPACE 00104 # if U_DISABLE_RENAMING 00105 # define U_ICU_NAMESPACE icu 00106 namespace U_ICU_NAMESPACE { } 00107 # else 00108 # define U_ICU_NAMESPACE U_ICU_ENTRY_POINT_RENAME(icu) 00109 namespace U_ICU_NAMESPACE { } 00110 namespace icu = U_ICU_NAMESPACE; 00111 # endif 00112 00113 # define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE { 00114 # define U_NAMESPACE_END } } 00115 # define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE; 00116 # define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE:: 00117 00118 # ifndef U_USING_ICU_NAMESPACE 00119 # define U_USING_ICU_NAMESPACE 1 00120 # endif 00121 # if U_USING_ICU_NAMESPACE 00122 U_NAMESPACE_USE 00123 # endif 00124 #else 00125 # define U_NAMESPACE_BEGIN extern "C++" { 00126 # define U_NAMESPACE_END } 00127 # define U_NAMESPACE_USE 00128 # define U_NAMESPACE_QUALIFIER 00129 #endif 00130 #else 00131 # define U_NAMESPACE_BEGIN 00132 # define U_NAMESPACE_END 00133 # define U_NAMESPACE_USE 00134 # define U_NAMESPACE_QUALIFIER 00135 #endif 00136 00137 /*===========================================================================*/ 00138 /* General version helper functions. Definitions in putil.c */ 00139 /*===========================================================================*/ 00140 00152 U_STABLE void U_EXPORT2 00153 u_versionFromString(UVersionInfo versionArray, const char *versionString); 00154 00166 U_STABLE void U_EXPORT2 00167 u_versionFromUString(UVersionInfo versionArray, const UChar *versionString); 00168 00169 00182 U_STABLE void U_EXPORT2 00183 u_versionToString(UVersionInfo versionArray, char *versionString); 00184 00193 U_STABLE void U_EXPORT2 00194 u_getVersion(UVersionInfo versionArray); 00195 #endif