uversion.h File Reference

C API: Contains all the important version numbers for ICU. More...

#include "unicode/umachine.h"

Go to the source code of this file.

Defines

#define U_COPYRIGHT_STRING   " Copyright (C) 2009, International Business Machines Corporation and others. All Rights Reserved. "
 IMPORTANT: When updating version, the following things need to be done: source/common/unicode/uversion.h - this file: update major, minor, patchlevel, suffix, version, short version constants, namespace, and copyright source/common/common.vcproj - update 'Output file name' on the link tab so that it contains the new major/minor combination source/i18n/i18n.vcproj - same as for the common.vcproj source/layout/layout.vcproj - same as for the common.vcproj source/layoutex/layoutex.vcproj - same source/stubdata/stubdata.vcproj - same as for the common.vcproj source/io/io.vcproj - same as for the common.vcproj source/data/makedata.mak - change U_ICUDATA_NAME so that it contains the new major/minor combination source/tools/genren/genren.pl - use this script according to the README in that folder.
#define U_COPYRIGHT_STRING_LENGTH   128
 Maximum length of the copyright string.
#define U_ICU_VERSION_MAJOR_NUM   4
 The current ICU major version as an integer.
#define U_ICU_VERSION_MINOR_NUM   2
 The current ICU minor version as an integer.
#define U_ICU_VERSION_PATCHLEVEL_NUM   1
 The current ICU patchlevel version as an integer.
#define U_ICU_VERSION_BUILDLEVEL_NUM   0
 The current ICU build level version as an integer.
#define U_ICU_VERSION_SUFFIX   _4_2
 Glued version suffix for renamers This value will change in the subsequent releases of ICU.
#define U_ICU_VERSION   "4.2.1"
 The current ICU library version as a dotted-decimal string.
#define U_ICU_VERSION_SHORT   "42"
 The current ICU library major/minor version as a string without dots, for library name suffixes.
#define U_MAX_VERSION_LENGTH   4
 An ICU version consists of up to 4 numbers from 0..255.
#define U_VERSION_DELIMITER   '.'
 In a string, ICU version fields are delimited by dots.
#define U_MAX_VERSION_STRING_LENGTH   20
 The maximum length of an ICU version string.
#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 UCOL_RUNTIME_VERSION   6
 Collation runtime version (sort key generator, strcoll).
#define UCOL_BUILDER_VERSION   7
 Builder code version.
#define UCOL_TAILORINGS_VERSION   1
 This is the version of the tailorings This value may change in the subsequent releases of ICU.

Typedefs

typedef uint8_t UVersionInfo [U_MAX_VERSION_LENGTH]
 The binary form of a version on ICU APIs is an array of 4 uint8_t.

Functions

void u_versionFromString (UVersionInfo versionArray, const char *versionString)
 Parse a string with dotted-decimal version information and fill in a UVersionInfo structure with the result.
void u_versionFromUString (UVersionInfo versionArray, const UChar *versionString)
 Parse a Unicode string with dotted-decimal version information and fill in a UVersionInfo structure with the result.
void u_versionToString (UVersionInfo versionArray, char *versionString)
 Write a string with dotted-decimal version information according to the input UVersionInfo.
void u_getVersion (UVersionInfo versionArray)
 Gets the ICU release version.
int32_t u_compareVersions (UVersionInfo v1, UVersionInfo v2)
 Compare two version numbers, v1 and v2, numerically.

Detailed Description

C API: Contains all the important version numbers for ICU.

Definition in file uversion.h.


Define Documentation

#define U_COPYRIGHT_STRING   " Copyright (C) 2009, International Business Machines Corporation and others. All Rights Reserved. "

IMPORTANT: When updating version, the following things need to be done: source/common/unicode/uversion.h - this file: update major, minor, patchlevel, suffix, version, short version constants, namespace, and copyright source/common/common.vcproj - update 'Output file name' on the link tab so that it contains the new major/minor combination source/i18n/i18n.vcproj - same as for the common.vcproj source/layout/layout.vcproj - same as for the common.vcproj source/layoutex/layoutex.vcproj - same source/stubdata/stubdata.vcproj - same as for the common.vcproj source/io/io.vcproj - same as for the common.vcproj source/data/makedata.mak - change U_ICUDATA_NAME so that it contains the new major/minor combination source/tools/genren/genren.pl - use this script according to the README in that folder.

The standard copyright notice that gets compiled into each library. This value will change in the subsequent releases of ICU

Stable:
ICU 2.4

Definition at line 53 of file uversion.h.

#define U_COPYRIGHT_STRING_LENGTH   128

Maximum length of the copyright string.

Stable:
ICU 2.4

Definition at line 59 of file uversion.h.

#define U_ICU_VERSION   "4.2.1"

The current ICU library version as a dotted-decimal string.

The patchlevel and buildlevel only appears in this string if it non-zero. This value will change in the subsequent releases of ICU

Stable:
ICU 2.4

Definition at line 98 of file uversion.h.

#define U_ICU_VERSION_BUILDLEVEL_NUM   0

The current ICU build level version as an integer.

This value is for use by ICU clients. It defaults to 0.

Stable:
ICU 4.0

Definition at line 84 of file uversion.h.

#define U_ICU_VERSION_MAJOR_NUM   4

The current ICU major version as an integer.

This value will change in the subsequent releases of ICU

Stable:
ICU 2.4

Definition at line 65 of file uversion.h.

#define U_ICU_VERSION_MINOR_NUM   2

The current ICU minor version as an integer.

This value will change in the subsequent releases of ICU

Stable:
ICU 2.6

Definition at line 71 of file uversion.h.

#define U_ICU_VERSION_PATCHLEVEL_NUM   1

The current ICU patchlevel version as an integer.

This value will change in the subsequent releases of ICU

Stable:
ICU 2.4

Definition at line 77 of file uversion.h.

#define U_ICU_VERSION_SHORT   "42"

The current ICU library major/minor version as a string without dots, for library name suffixes.

This value will change in the subsequent releases of ICU

Stable:
ICU 2.6

Definition at line 104 of file uversion.h.

#define U_ICU_VERSION_SUFFIX   _4_2

Glued version suffix for renamers This value will change in the subsequent releases of ICU.

Stable:
ICU 2.6

Definition at line 91 of file uversion.h.

#define U_MAX_VERSION_LENGTH   4

An ICU version consists of up to 4 numbers from 0..255.

Stable:
ICU 2.4

Definition at line 109 of file uversion.h.

#define U_MAX_VERSION_STRING_LENGTH   20

The maximum length of an ICU version string.

Stable:
ICU 2.4

Definition at line 119 of file uversion.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 183 of file uversion.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 184 of file uversion.h.

#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 186 of file uversion.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 185 of file uversion.h.

#define U_VERSION_DELIMITER   '.'

In a string, ICU version fields are delimited by dots.

Stable:
ICU 2.4

Definition at line 114 of file uversion.h.

#define UCOL_BUILDER_VERSION   7

Builder code version.

When this is different, same tailoring might result in assigning different collation elements to code points version 2 was in ICU 1.8.1. added support for prefixes, tweaked canonical closure. However, the tailorings should probably get same CEs assigned version 5 - ICU 2.2 - fixed some bugs, renamed some indirect values. version 6 - ICU 2.8 - fixed bug in builder that allowed 0xFF in primary values version 7 - ICU 3.4 - with the UCA 4.1 Thai tag is no longer processed, complete ignorables now break contractions Backward compatible with the old rules. This value may change in the subsequent releases of ICU

Stable:
ICU 2.4

Definition at line 294 of file uversion.h.

#define UCOL_RUNTIME_VERSION   6

Collation runtime version (sort key generator, strcoll).

If the version is different, sortkeys for the same string could be different version 2 was in ICU 1.8.1. changed is: compression intervals, French secondary compression, generating quad level always when strength is quad or more version 4 - ICU 2.2 - tracking UCA changes, ignore completely ignorables in contractions, ignore primary ignorables after shifted version 5 - ICU 2.8 - changed implicit generation code version 6 - ICU 3.4 - with the UCA 4.1, Thai tag is no longer generated or used This value may change in the subsequent releases of ICU

Stable:
ICU 2.4

Definition at line 280 of file uversion.h.

#define UCOL_TAILORINGS_VERSION   1

This is the version of the tailorings This value may change in the subsequent releases of ICU.

Stable:
ICU 2.4

Definition at line 300 of file uversion.h.


Typedef Documentation

typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]

The binary form of a version on ICU APIs is an array of 4 uint8_t.

Stable:
ICU 2.4

Definition at line 124 of file uversion.h.


Function Documentation

int32_t u_compareVersions ( UVersionInfo  v1,
UVersionInfo  v2 
)

Compare two version numbers, v1 and v2, numerically.

Returns 0 if v1 == v2 Returns -1 if v1 < v2 (v1 is older, v2 is newer) Returns +1 if v1 > v2 (v1 is newer, v2 is older)

Parameters:
v1 version to compare
v2 version to compare
Returns:
comparison result
Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
void u_getVersion ( UVersionInfo  versionArray  ) 

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

Parameters:
versionArray the version # information, the result will be filled in
Stable:
ICU 2.0
void u_versionFromString ( UVersionInfo  versionArray,
const char *  versionString 
)

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

Parameters:
versionArray The destination structure for the version information.
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
void u_versionFromUString ( UVersionInfo  versionArray,
const UChar 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

Parameters:
versionArray The destination structure for the version information.
versionString A Unicode string with dotted-decimal version information, with up to four non-negative number fields with values of up to 255 each.
Draft:
This API may be changed in the future versions and was introduced in ICU 4.2
void u_versionToString ( UVersionInfo  versionArray,
char *  versionString 
)

Write a string with dotted-decimal version information according to the input UVersionInfo.

Definition of this function lives in putil.c

Parameters:
versionArray The version information to be written as a string.
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
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 9 Oct 2010 for ICU 4.2.1 by  doxygen 1.6.1