uversion.h

Go to the documentation of this file.
00001 /*
00002 *******************************************************************************
00003 *   Copyright (C) 2000-2011, 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 
00106 /* Define namespace symbols if the compiler supports it. */
00107 #ifdef __cplusplus
00108 #   if U_DISABLE_RENAMING
00109 #       define U_ICU_NAMESPACE icu
00110         namespace U_ICU_NAMESPACE { }
00111 #   else
00112 #       define U_ICU_NAMESPACE U_ICU_ENTRY_POINT_RENAME(icu)
00113         namespace U_ICU_NAMESPACE { }
00114         namespace icu = U_ICU_NAMESPACE;
00115 #   endif
00116 
00117 #   define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE {
00118 #   define U_NAMESPACE_END } }
00119 #   define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE;
00120 #   define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE::
00121 
00122 #   ifndef U_USING_ICU_NAMESPACE
00123 #       define U_USING_ICU_NAMESPACE 1
00124 #   endif
00125 #   if U_USING_ICU_NAMESPACE
00126         U_NAMESPACE_USE
00127 #   endif
00128 #else
00129 #   define U_NAMESPACE_BEGIN
00130 #   define U_NAMESPACE_END
00131 #   define U_NAMESPACE_USE
00132 #   define U_NAMESPACE_QUALIFIER
00133 #endif
00134 
00135 /*===========================================================================*/
00136 /* General version helper functions. Definitions in putil.c                  */
00137 /*===========================================================================*/
00138 
00150 U_STABLE void U_EXPORT2
00151 u_versionFromString(UVersionInfo versionArray, const char *versionString);
00152 
00164 U_STABLE void U_EXPORT2
00165 u_versionFromUString(UVersionInfo versionArray, const UChar *versionString);
00166 
00167 
00180 U_STABLE void U_EXPORT2
00181 u_versionToString(const UVersionInfo versionArray, char *versionString);
00182 
00191 U_STABLE void U_EXPORT2
00192 u_getVersion(UVersionInfo versionArray);
00193 #endif

Generated on 27 Oct 2013 for ICU 50.1.2 by  doxygen 1.4.7