- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- Search for |

- File List
- Globals

# 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) 2007, International Business Machines Corporation and others. All Rights Reserved. "
| The standard copyright notice that gets compiled into each library.
#define | U_COPYRIGHT_STRING_LENGTH 128
| Maximum length of the copyright string.
#define | U_ICU_VERSION_MAJOR_NUM 3
| The current ICU major version as an integer.
#define | U_ICU_VERSION_MINOR_NUM 8
| The current ICU minor version as an integer.
#define | U_ICU_VERSION_PATCHLEVEL_NUM 0
| The current ICU patchlevel version as an integer.
#define | U_ICU_VERSION_SUFFIX _3_8
| Glued version suffix for renamers This value will change in the subsequent releases of ICU.
#define | U_ICU_VERSION "3.8"
| The current ICU library version as a dotted-decimal string.
#define | U_ICU_VERSION_SHORT "38"
| 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.
#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_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.

## 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) 2007, International Business Machines Corporation and others. All Rights Reserved. "

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 52 of file uversion.h.

#define U_COPYRIGHT_STRING_LENGTH 128

Maximum length of the copyright string.

Stable:
  ICU 2.4

Definition at line 58 of file uversion.h.

#define U_ICU_VERSION "3.8"

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

The patchlevel 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 89 of file uversion.h.

#define U_ICU_VERSION_MAJOR_NUM 3

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 64 of file uversion.h.

#define U_ICU_VERSION_MINOR_NUM 8

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 70 of file uversion.h.

#define U_ICU_VERSION_PATCHLEVEL_NUM 0

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 76 of file uversion.h.

#define U_ICU_VERSION_SHORT "38"

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 95 of file uversion.h.

#define U_ICU_VERSION_SUFFIX _3_8

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

Stable:
  ICU 2.6

Definition at line 82 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 100 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 110 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 174 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 175 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 177 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 176 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 105 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 258 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 244 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 264 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 115 of file uversion.h.

## Function Documentation

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_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