PATH:
usr
/
include
/
unicode
/* ******************************************************************************* * Copyright (C) 2000-2011, International Business Machines * Corporation and others. All Rights Reserved. ******************************************************************************* * * file name: uversion.h * encoding: US-ASCII * tab size: 8 (not used) * indentation:4 * * Created by: Vladimir Weinstein * * Gets included by utypes.h and Windows .rc files */ /** * \file * \brief C API: API for accessing ICU version numbers. */ /*===========================================================================*/ /* Main ICU version information */ /*===========================================================================*/ #ifndef UVERSION_H #define UVERSION_H #include "unicode/umachine.h" /* Actual version info lives in uvernum.h */ #include "unicode/uvernum.h" /** Maximum length of the copyright string. * @stable ICU 2.4 */ #define U_COPYRIGHT_STRING_LENGTH 128 /** An ICU version consists of up to 4 numbers from 0..255. * @stable ICU 2.4 */ #define U_MAX_VERSION_LENGTH 4 /** In a string, ICU version fields are delimited by dots. * @stable ICU 2.4 */ #define U_VERSION_DELIMITER '.' /** The maximum length of an ICU version string. * @stable ICU 2.4 */ #define U_MAX_VERSION_STRING_LENGTH 20 /** The binary form of a version on ICU APIs is an array of 4 uint8_t. * To compare two versions, use memcmp(v1,v2,sizeof(UVersionInfo)). * @stable ICU 2.4 */ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; /*===========================================================================*/ /* C++ namespace if supported. Versioned unless versioning is disabled. */ /*===========================================================================*/ /** * \def U_NAMESPACE_BEGIN * This is used to begin a declaration of a public ICU C++ API. * When not compiling for C++, it does nothing. * When compiling for C++, it begins an extern "C++" linkage block (to protect * against cases in which an external client includes ICU header files inside * an extern "C" linkage block). * * It also begins a versioned-ICU-namespace block. * @stable ICU 2.4 */ /** * \def U_NAMESPACE_END * This is used to end a declaration of a public ICU C++ API. * When not compiling for C++, it does nothing. * When compiling for C++, it ends the extern "C++" block begun by * U_NAMESPACE_BEGIN. * * It also ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN. * @stable ICU 2.4 */ /** * \def U_NAMESPACE_USE * This is used to specify that the rest of the code uses the * public ICU C++ API namespace. * This is invoked by default; we recommend that you turn it off: * See the "Recommended Build Options" section of the ICU4C readme * (http://source.icu-project.org/repos/icu/icu/trunk/readme.html#RecBuild) * @stable ICU 2.4 */ /** * \def U_NAMESPACE_QUALIFIER * This is used to qualify that a function or class is part of * the public ICU C++ API namespace. * * This macro is unnecessary since ICU 49 requires namespace support. * You can just use "icu::" instead. * @stable ICU 2.4 */ /* Define namespace symbols if the compiler supports it. */ #ifdef __cplusplus # if U_DISABLE_RENAMING # define U_ICU_NAMESPACE icu namespace U_ICU_NAMESPACE { } # else # define U_ICU_NAMESPACE U_ICU_ENTRY_POINT_RENAME(icu) namespace U_ICU_NAMESPACE { } namespace icu = U_ICU_NAMESPACE; # endif # define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE { # define U_NAMESPACE_END } } # define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE; # define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE:: # ifndef U_USING_ICU_NAMESPACE # define U_USING_ICU_NAMESPACE 1 # endif # if U_USING_ICU_NAMESPACE U_NAMESPACE_USE # endif #else # define U_NAMESPACE_BEGIN # define U_NAMESPACE_END # define U_NAMESPACE_USE # define U_NAMESPACE_QUALIFIER #endif /*===========================================================================*/ /* General version helper functions. Definitions in putil.c */ /*===========================================================================*/ /** * Parse a string with dotted-decimal version information and * fill in a UVersionInfo structure with the result. * Definition of this function lives in putil.c * * @param versionArray The destination structure for the version information. * @param versionString A string with dotted-decimal version information, * with up to four non-negative number fields with * values of up to 255 each. * @stable ICU 2.4 */ U_STABLE void U_EXPORT2 u_versionFromString(UVersionInfo versionArray, const char *versionString); /** * Parse a Unicode string with dotted-decimal version information and * fill in a UVersionInfo structure with the result. * Definition of this function lives in putil.c * * @param versionArray The destination structure for the version information. * @param versionString A Unicode string with dotted-decimal version * information, with up to four non-negative number * fields with values of up to 255 each. * @stable ICU 4.2 */ U_STABLE void U_EXPORT2 u_versionFromUString(UVersionInfo versionArray, const UChar *versionString); /** * Write a string with dotted-decimal version information according * to the input UVersionInfo. * Definition of this function lives in putil.c * * @param versionArray The version information to be written as a string. * @param versionString A string buffer that will be filled in with * a string corresponding to the numeric version * information in versionArray. * The buffer size must be at least U_MAX_VERSION_STRING_LENGTH. * @stable ICU 2.4 */ U_STABLE void U_EXPORT2 u_versionToString(const UVersionInfo versionArray, char *versionString); /** * Gets the ICU release version. The version array stores the version information * for ICU. For example, release "1.3.31.2" is then represented as 0x01031F02. * Definition of this function lives in putil.c * * @param versionArray the version # information, the result will be filled in * @stable ICU 2.0 */ U_STABLE void U_EXPORT2 u_getVersion(UVersionInfo versionArray); #endif
[-] tzrule.h
[edit]
[-] utrans.h
[edit]
[-] ucnv.h
[edit]
[-] dtrule.h
[edit]
[-] format.h
[edit]
[-] uvernum.h
[edit]
[-] utf32.h
[edit]
[-] ubidi.h
[edit]
[-] enumset.h
[edit]
[-] normlzr.h
[edit]
[-] measfmt.h
[edit]
[-] ubrk.h
[edit]
[-] upluralrules.h
[edit]
[-] sortkey.h
[edit]
[-] bytestrie.h
[edit]
[-] fpositer.h
[edit]
[-] utf_old.h
[edit]
[-] tmutamt.h
[edit]
[-] uconfig.h
[edit]
[-] alphaindex.h
[edit]
[-] vtzone.h
[edit]
[-] locdspnm.h
[edit]
[-] numsys.h
[edit]
[-] simpletz.h
[edit]
[-] tznames.h
[edit]
[-] stringpiece.h
[edit]
[-] parseerr.h
[edit]
[-] ucsdet.h
[edit]
[-] appendable.h
[edit]
[+]
..
[-] dtptngen.h
[edit]
[-] dtintrv.h
[edit]
[-] resbund.h
[edit]
[-] ptypes.h
[edit]
[-] ustdio.h
[edit]
[-] symtable.h
[edit]
[-] ucnv_err.h
[edit]
[-] utypes.h
[edit]
[-] bytestream.h
[edit]
[-] dtfmtsym.h
[edit]
[-] unorm2.h
[edit]
[-] udateintervalformat.h
[edit]
[-] ucat.h
[edit]
[-] usearch.h
[edit]
[-] platform.h
[edit]
[-] unum.h
[edit]
[-] locid.h
[edit]
[-] uversion.h
[edit]
[-] regex.h
[edit]
[-] strenum.h
[edit]
[-] ucasemap.h
[edit]
[-] utmscale.h
[edit]
[-] decimfmt.h
[edit]
[-] messagepattern.h
[edit]
[-] brkiter.h
[edit]
[-] ucurr.h
[edit]
[-] uset.h
[edit]
[-] tztrans.h
[edit]
[-] udata.h
[edit]
[-] currpinf.h
[edit]
[-] datefmt.h
[edit]
[-] rbbi.h
[edit]
[-] parsepos.h
[edit]
[-] rbtz.h
[edit]
[-] ucnv_cb.h
[edit]
[-] ucoleitr.h
[edit]
[-] udat.h
[edit]
[-] putil.h
[edit]
[-] coll.h
[edit]
[-] gender.h
[edit]
[-] ucharstriebuilder.h
[edit]
[-] unimatch.h
[edit]
[-] currunit.h
[edit]
[-] ugender.h
[edit]
[-] colldata.h
[edit]
[-] uchriter.h
[edit]
[-] tmunit.h
[edit]
[-] ulocdata.h
[edit]
[-] timezone.h
[edit]
[-] unirepl.h
[edit]
[-] umisc.h
[edit]
[-] tmutfmt.h
[edit]
[-] ushape.h
[edit]
[-] dtitvinf.h
[edit]
[-] usetiter.h
[edit]
[-] uniset.h
[edit]
[-] listformatter.h
[edit]
[-] umsg.h
[edit]
[-] ustream.h
[edit]
[-] ustringtrie.h
[edit]
[-] icudataver.h
[edit]
[-] bytestriebuilder.h
[edit]
[-] bms.h
[edit]
[-] uldnames.h
[edit]
[-] uregex.h
[edit]
[-] schriter.h
[edit]
[-] uenum.h
[edit]
[-] uclean.h
[edit]
[-] bmsearch.h
[edit]
[-] utf16.h
[edit]
[-] normalizer2.h
[edit]
[-] calendar.h
[edit]
[-] udatpg.h
[edit]
[-] unifunct.h
[edit]
[-] dbbi.h
[edit]
[-] utext.h
[edit]
[-] uchar.h
[edit]
[-] tzfmt.h
[edit]
[-] urep.h
[edit]
[-] uscript.h
[edit]
[-] urename.h
[edit]
[-] std_string.h
[edit]
[-] choicfmt.h
[edit]
[-] rep.h
[edit]
[-] idna.h
[edit]
[-] unorm.h
[edit]
[-] dtitvfmt.h
[edit]
[-] utrace.h
[edit]
[-] uidna.h
[edit]
[-] search.h
[edit]
[-] uobject.h
[edit]
[-] basictz.h
[edit]
[-] dcfmtsym.h
[edit]
[-] coleitr.h
[edit]
[-] translit.h
[edit]
[-] ures.h
[edit]
[-] unistr.h
[edit]
[-] udisplaycontext.h
[edit]
[-] fmtable.h
[edit]
[-] rbnf.h
[edit]
[-] gregocal.h
[edit]
[-] uiter.h
[edit]
[-] umachine.h
[edit]
[-] plurrule.h
[edit]
[-] plurfmt.h
[edit]
[-] ucnvsel.h
[edit]
[-] curramt.h
[edit]
[-] ucal.h
[edit]
[-] measure.h
[edit]
[-] utf8.h
[edit]
[-] uspoof.h
[edit]
[-] icuplug.h
[edit]
[-] chariter.h
[edit]
[-] stringtriebuilder.h
[edit]
[-] caniter.h
[edit]
[-] utf.h
[edit]
[-] fieldpos.h
[edit]
[-] ucharstrie.h
[edit]
[-] tblcoll.h
[edit]
[-] ustring.h
[edit]
[-] errorcode.h
[edit]
[-] stsearch.h
[edit]
[-] localpointer.h
[edit]
[-] usprep.h
[edit]
[-] docmain.h
[edit]
[-] msgfmt.h
[edit]
[-] selfmt.h
[edit]
[-] unifilt.h
[edit]
[-] uloc.h
[edit]
[-] measunit.h
[edit]
[-] ucol.h
[edit]
[-] numfmt.h
[edit]
[-] smpdtfmt.h
[edit]