[sword-svn] r224 - in trunk: . as_is/os390 as_is/os400 packaging
chrislit at crosswire.org
chrislit at crosswire.org
Sat Dec 4 08:05:42 MST 2010
Author: chrislit
Date: 2010-12-04 08:05:42 -0700 (Sat, 04 Dec 2010)
New Revision: 224
Removed:
trunk/packaging/debian/
Modified:
trunk/APIChangeReport.html
trunk/as_is/os390/unpax-icu.sh
trunk/as_is/os400/convertConfigure.sed
trunk/as_is/os400/unpax-icu.sh
trunk/icu4c.css
trunk/license.html
trunk/readme.html
trunk/unicode-license.txt
Log:
starting update to ICU 4.6
Modified: trunk/APIChangeReport.html
===================================================================
--- trunk/APIChangeReport.html 2009-10-26 04:54:17 UTC (rev 223)
+++ trunk/APIChangeReport.html 2010-12-04 15:05:42 UTC (rev 224)
@@ -1,3471 +1,2937 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
- Copyright (C) 2009, International Business Machines Corporation, All Rights Reserved.
- --><html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html><!--
+ Copyright (C) 2010, International Business Machines Corporation, All Rights Reserved.
+ -->
<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ICU4C API Comparison: 4.0.1 with 4.2</title>
+<META http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>ICU4C API Comparison: 4.4.2 with 4.6 r29058</title>
<link type="text/css" href="icu4c.css" rel="stylesheet">
</head>
<body>
-<a name="_top"></a>
-<h1>ICU4C API Comparison: 4.0.1 with 4.2</h1>
+<a name="#_top"></a>
+<h1>ICU4C API Comparison: 4.4.2 with 4.6 (r29058)</h1>
+<div id="toc">
<ul>
<li>
-<a href="#removed">Removed from 4.0.1</a>
+<a href="#removed">Removed from 4.4.2</a>
</li>
<li>
-<a href="#deprecated">Deprecated or Obsoleted in 4.2</a>
+<a href="#deprecated">Deprecated or Obsoleted in 4.6</a>
</li>
<li>
-<a href="#changed">Changed in 4.2</a>
+<a href="#changed">Changed in 4.6</a>
</li>
<li>
-<a href="#promoted">Promoted to stable in 4.2</a>
+<a href="#promoted">Promoted to stable in 4.6</a>
</li>
<li>
-<a href="#added">Added in 4.2</a>
+<a href="#added">Added in 4.6</a>
</li>
<li>
-<a href="#other">Other existing drafts in 4.2</a>
+<a href="#other">Other existing drafts in 4.6</a>
</li>
</ul>
<hr>
-<a name="removed">
-<h2>Removed from 4.0.1</h2>
-</a>
+</div>
+<a name="removed"></a>
+<h2>Removed from 4.4.2</h2>
<table BORDER="1" class="genTable">
<THEAD>
<tr>
-<th>File</th><th>API</th><th>4.0.1</th><th>4.2</th>
+<th>File</th><th>API</th><th>4.4.2</th><th>4.6</th>
</tr>
</THEAD>
<tr class="row1">
-<td class="file">datefmt.h</td><td class="proto">static DateFormat* DateFormat::createPatternInstance(const UnicodeString &, const Locale &, UErrorCode &)</td><td class="">Internal<br>4.0</td><td>None<br>
+<td class="file">dcfmtsym.h</td><td class="proto">void DecimalFormatSymbols::setSymbol(ENumberFormatSymbol, const UnicodeString&)</td><td class="stabchange">Stable<br>2.0</td><td>None<br>
<span class=""><span></span></span></td>
</tr>
-<!--
- Not really removed. Split.
<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">int32_t UnicodeString::extract(int32_t , int32_t , char *, uint32_t , const char *codepage=) const</td><td class="stabchange">Stable<br>2.0</td><td>None<br>
+<td class="file">format.h</td><td class="proto">UClassID Format::getDynamicClassID() const =0</td><td class="stabchange">Stable<br>2.0</td><td>None<br>
<span class=""><span></span></span></td>
</tr>
<tr class="row1">
-<td class="file">unistr.h</td><td class="proto">UnicodeString::UnicodeString(const char *, int32_t , const char *codepage=)</td><td class="stabchange">Stable<br>2.0</td><td>None<br>
+<td class="file">fpositer.h</td><td class="proto">UClassID FieldPositionIterator::getDynamicClassID() const</td><td class="">Draft<br>4.4</td><td>None<br>
<span class=""><span></span></span></td>
</tr>
<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">UnicodeString::UnicodeString(const char *, const char *codepage=)</td><td class="stabchange">Stable<br>2.0</td><td>None<br>
+<td class="file">fpositer.h</td><td class="proto"><tt>static</tt> UClassID FieldPositionIterator::getStaticClassID()</td><td class="">Draft<br>4.4</td><td>None<br>
<span class=""><span></span></span></td>
</tr>
--->
-
+<tr class="row1">
+<td class="file">LESwaps.h</td><td class="proto"><tt>static</tt> le_uint16 LESwaps::swapWord(const le_uint16&)</td><td class="stabchange">Stable<br>2.8</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">LESwaps.h</td><td class="proto"><tt>static</tt> le_uint32 LESwaps::swapLong(const le_uint32&)</td><td class="stabchange">Stable<br>2.8</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">locdspnm.h</td><td class="proto"><tt>static</tt> UClassID LocaleDisplayNames::getStaticClassID()</td><td class="">Internal<br>4.4 // TODO</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">locid.h</td><td class="proto"><tt>static</tt> const char* const* Locale::getISOCountries()</td><td class="stabchange">Stable<br>2.0</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">locid.h</td><td class="proto"><tt>static</tt> const char* const* Locale::getISOLanguages()</td><td class="stabchange">Stable<br>2.0</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">normalizer2.h</td><td class="proto">UClassID FilteredNormalizer2::getDynamicClassID() const</td><td class="">Draft<br>4.4</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">normalizer2.h</td><td class="proto">UClassID Normalizer2::getDynamicClassID() const =0</td><td class="">Draft<br>4.4</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">normalizer2.h</td><td class="proto"><tt>static</tt> UClassID FilteredNormalizer2::getStaticClassID()</td><td class="">Draft<br>4.4</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">normalizer2.h</td><td class="proto"><tt>static</tt> UClassID Normalizer2::getStaticClassID()</td><td class="">Draft<br>4.4</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::region(int32_t, int32_t, UErrorCode&)</td><td class="stabchange">Stable<br>4.0</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::reset(int32_t, UErrorCode&)</td><td class="stabchange">Stable<br>2.8</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::find(int32_t, UErrorCode&)</td><td class="stabchange">Stable<br>2.4</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::lookingAt(int32_t, UErrorCode&)</td><td class="stabchange">Stable<br>2.8</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::matches(int32_t, UErrorCode&)</td><td class="stabchange">Stable<br>2.8</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">regex.h</td><td class="proto">UText* RegexMatcher::appendTail(UText*)</td><td class="">Internal<br>4.4 technology preview</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">regex.h</td><td class="proto">UText* RegexMatcher::getInput(UText*) const</td><td class="">Internal<br>4.4 technology preview</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">regex.h</td><td class="proto">UText* RegexMatcher::group(UText*, MatcherDestIsUTextFlag, UErrorCode&) const</td><td class="">Internal<br>4.4 technology preview</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">regex.h</td><td class="proto">UText* RegexPattern::patternText() const</td><td class="">Internal<br>4.4 technology preview</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">regex.h</td><td class="proto"><tt>enum</tt>
+ RegexMatcher::MatcherDestIsUTextFlag {}</td><td class="">Internal<br>.</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">regex.h</td><td class="proto"><tt>enum</tt>
+ RegexMatcher::MatcherDestIsUTextFlag::MATCHER_DEST_IS_UTEXT</td><td class="">Internal<br>.</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">uidna.h</td><td class="proto"><tt>#define</tt> UIDNA_ALLOW_UNASSIGNED</td><td class="stabchange">Stable<br>2.6</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">uidna.h</td><td class="proto"><tt>#define</tt> UIDNA_DEFAULT</td><td class="stabchange">Stable<br>2.6</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">uidna.h</td><td class="proto"><tt>#define</tt> UIDNA_USE_STD3_RULES</td><td class="stabchange">Stable<br>2.6</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">uloc.h</td><td class="proto">const char* const* uloc_getISOCountries()</td><td class="stabchange">Stable<br>2.0</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">uloc.h</td><td class="proto">const char* const* uloc_getISOLanguages()</td><td class="stabchange">Stable<br>2.0</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">unifilt.h</td><td class="proto">UClassID UnicodeFilter::getDynamicClassID() const =0</td><td class="stabchange">Stable<br>2.2</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">uregex.h</td><td class="proto">UText* uregex_appendTailUText(URegularExpression*, UText*)</td><td class="">Internal<br>4.4 technology preview</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">uregex.h</td><td class="proto">UText* uregex_groupUText(URegularExpression*, int32_t, UText*, UErrorCode*)</td><td class="">Internal<br>4.4 technology preview</td><td>None<br>
+<span class=""><span></span></span></td>
+</tr>
</table>
<P></P>
<a href="#_top">(jump back to top)</a>
<hr>
-<a name="deprecated">
-<h2>Deprecated or Obsoleted in 4.2</h2>
-</a>
+<a name="deprecated"></a>
+<h2>Deprecated or Obsoleted in 4.6</h2>
<table BORDER="1" class="genTable">
<THEAD>
<tr>
-<th>File</th><th>API</th><th>4.0.1</th><th>4.2</th>
+<th>File</th><th>API</th><th>4.4.2</th><th>4.6</th>
</tr>
</THEAD>
</table>
<P></P>
<a href="#_top">(jump back to top)</a>
<hr>
-<a name="changed">
-<h2>Changed in 4.2 (old, new)</h2>
-</a>
+<a name="changed"></a>
+<h2>Changed in 4.6 (old, new)</h2>
<table BORDER="1" class="genTable">
<THEAD>
<tr>
-<th>File</th><th>API</th><th>4.0.1</th><th>4.2</th>
+<th>File</th><th>API</th><th>4.4.2</th><th>4.6</th>
</tr>
</THEAD>
<tr class="row1">
-<td class="file">bmsearch.h</td><td class="proto">static UClassID BoyerMooreSearch::getStaticClassID()</td><td class="">Internal<br>4.0.1 technology preview</td><td>
-<br>
-<span class=""><span></span></span></td>
+<td class="file">calendar.h</td><td class="proto">UBool Calendar::isWeekend()const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">bmsearch.h</td><td class="proto">UClassID BoyerMooreSearch::getDynamicClassID() const</td><td class="">Internal<br>4.0.1 technology preview</td><td>
-<br>
-<span class=""><span></span></span></td>
+<td class="file">calendar.h</td><td class="proto">UBool Calendar::isWeekend(UDate, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">colldata.h</td><td class="proto">UClassID CEList::getDynamicClassID() const</td><td class="">Internal<br>4.0.1 technology preview</td><td>
-<br>
-<span class=""><span></span></span></td>
+<td class="file">calendar.h</td><td class="proto">UCalendarWeekdayType Calendar::getDayOfWeekType(UCalendarDaysOfWeek, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">colldata.h</td><td class="proto">static UClassID StringList::getStaticClassID()</td><td class="">Internal<br>4.0.1 technology preview</td><td>
-<br>
-<span class=""><span></span></span></td>
+<td class="file">calendar.h</td><td class="proto">int32_t Calendar::getWeekendTransition(UCalendarDaysOfWeek, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">colldata.h</td><td class="proto">UClassID StringList::getDynamicClassID() const</td><td class="">Internal<br>4.0.1 technology preview</td><td>
-<br>
-<span class=""><span></span></span></td>
+<td class="file">datefmt.h</td><td class="proto">UnicodeString& DateFormat::format(Calendar&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">colldata.h</td><td class="proto">static UClassID CollData::getStaticClassID()</td><td class="">Internal<br>4.0.1 technology preview</td><td>
-<br>
-<span class=""><span></span></span></td>
+<td class="file">datefmt.h</td><td class="proto">UnicodeString& DateFormat::format(UDate, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">colldata.h</td><td class="proto">static UClassID CEList::getStaticClassID()</td><td class="">Internal<br>4.0.1 technology preview</td><td>
-<br>
-<span class=""><span></span></span></td>
+<td class="file">datefmt.h</td><td class="proto">UnicodeString& DateFormat::format(const Formattable&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">colldata.h</td><td class="proto">UClassID CollData::getDynamicClassID() const</td><td class="">Internal<br>4.0.1 technology preview</td><td>
-<br>
-<span class=""><span></span></span></td>
+<td class="file">decimfmt.h</td><td class="proto">UnicodeString& DecimalFormat::format(const StringPiece&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtintrv.h</td><td class="proto">UDate DateInterval::getToDate() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">decimfmt.h</td><td class="proto">UnicodeString& DecimalFormat::format(double, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtintrv.h</td><td class="proto">DateInterval::DateInterval(UDate , UDate )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">decimfmt.h</td><td class="proto">UnicodeString& DecimalFormat::format(int32_t, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtintrv.h</td><td class="proto">static UClassID DateInterval::getStaticClassID(void)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">decimfmt.h</td><td class="proto">UnicodeString& DecimalFormat::format(int64_t, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtintrv.h</td><td class="proto">DateInterval::~DateInterval()</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">dtptngen.h</td><td class="proto">UnicodeString DateTimePatternGenerator::getBestPattern(const UnicodeString&, UDateTimePatternMatchOptions, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtintrv.h</td><td class="proto">DateInterval& DateInterval::operator=(const DateInterval &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">dtptngen.h</td><td class="proto">UnicodeString DateTimePatternGenerator::replaceFieldTypes(const UnicodeString&, const UnicodeString&, UDateTimePatternMatchOptions, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtintrv.h</td><td class="proto">UBool DateInterval::operator==(const DateInterval &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">errorcode.h</td><td class="proto">const char* ErrorCode::errorName() const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtintrv.h</td><td class="proto">UDate DateInterval::getFromDate() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">errorcode.h</td><td class="proto">void ErrorCode::assertSuccess() const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtintrv.h</td><td class="proto">DateInterval* DateInterval::clone() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fmtable.h</td><td class="proto">Formattable::Formattable(const StringPiece&, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtintrv.h</td><td class="proto">UClassID DateInterval::getDynamicClassID(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fmtable.h</td><td class="proto">StringPiece Formattable::getDecimalNumber(UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtintrv.h</td><td class="proto">UBool DateInterval::operator!=(const DateInterval &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fmtable.h</td><td class="proto">void Formattable::setDecimalNumber(const StringPiece&, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtintrv.h</td><td class="proto">DateInterval::DateInterval(const DateInterval &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">format.h</td><td class="proto">UnicodeString& Format::format(const Formattable&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">static UClassID DateIntervalFormat::getStaticClassID(void)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fpositer.h</td><td class="proto">FieldPositionIterator::FieldPositionIterator()</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">DateIntervalFormat::~DateIntervalFormat()</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fpositer.h</td><td class="proto">FieldPositionIterator::FieldPositionIterator(const FieldPositionIterator&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">UBool DateIntervalFormat::operator==(const Format &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fpositer.h</td><td class="proto">FieldPositionIterator::~FieldPositionIterator()</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">static DateIntervalFormat* DateIntervalFormat::createInstance(const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fpositer.h</td><td class="proto">UBool FieldPositionIterator::next(FieldPosition&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">UnicodeString& DateIntervalFormat::format(const DateInterval *, UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fpositer.h</td><td class="proto">UBool FieldPositionIterator::operator!=(const FieldPositionIterator&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">UnicodeString& DateIntervalFormat::format(const Formattable &, UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fpositer.h</td><td class="proto">UBool FieldPositionIterator::operator==(const FieldPositionIterator&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">static DateIntervalFormat* DateIntervalFormat::createInstance(const UnicodeString &, const Locale &, const DateIntervalInfo &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::bamuScriptCode</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">static DateIntervalFormat* DateIntervalFormat::createInstance(const UnicodeString &, const DateIntervalInfo &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">LocaleDisplayNames::~LocaleDisplayNames()</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">const DateIntervalInfo* DateIntervalFormat::getDateIntervalInfo(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UDialectHandling LocaleDisplayNames::getDialectHandling() const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">const DateFormat* DateIntervalFormat::getDateFormat(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::keyDisplayName(const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">UClassID DateIntervalFormat::getDynamicClassID(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::keyValueDisplayName(const char*, const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">void DateIntervalFormat::setDateIntervalInfo(const DateIntervalInfo &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::languageDisplayName(const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">static DateIntervalFormat* DateIntervalFormat::createInstance(const UnicodeString &, const Locale &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::localeDisplayName(const Locale&, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">UnicodeString& DateIntervalFormat::format(Calendar &, Calendar &, UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::localeDisplayName(const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">UBool DateIntervalFormat::operator!=(const Format &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::regionDisplayName(const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">Format* DateIntervalFormat::clone(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::scriptDisplayName(UScriptCode, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvinf.h</td><td class="proto">UnicodeString& DateIntervalInfo::getFallbackIntervalPattern(UnicodeString &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::scriptDisplayName(const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvinf.h</td><td class="proto">void DateIntervalInfo::setIntervalPattern(const UnicodeString &, UCalendarDateFields , const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::variantDisplayName(const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvinf.h</td><td class="proto">DateIntervalInfo& DateIntervalInfo::operator=(const DateIntervalInfo &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">const Locale& LocaleDisplayNames::getLocale() const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvinf.h</td><td class="proto">DateIntervalInfo* DateIntervalInfo::clone(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto"><tt>static</tt> LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvinf.h</td><td class="proto">UBool DateIntervalInfo::getDefaultOrder() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto"><tt>static</tt> LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale&, UDialectHandling)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvinf.h</td><td class="proto">DateIntervalInfo::DateIntervalInfo(const Locale &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locid.h</td><td class="proto"><tt>static</tt> const Locale& Locale::getRoot()</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvinf.h</td><td class="proto">DateIntervalInfo::~DateIntervalInfo()</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">FilteredNormalizer2::FilteredNormalizer2(const Normalizer2&, const UnicodeSet&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvinf.h</td><td class="proto">DateIntervalInfo::DateIntervalInfo(const DateIntervalInfo &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool FilteredNormalizer2::hasBoundaryAfter(UChar32) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvinf.h</td><td class="proto">UnicodeString& DateIntervalInfo::getIntervalPattern(const UnicodeString &, UCalendarDateFields , UnicodeString &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool FilteredNormalizer2::hasBoundaryBefore(UChar32) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvinf.h</td><td class="proto">void DateIntervalInfo::setFallbackIntervalPattern(const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool FilteredNormalizer2::isInert(UChar32) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">msgfmt.h</td><td class="proto">UBool MessageFormat::usesNamedArguments() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool FilteredNormalizer2::isNormalized(const UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">msgfmt.h</td><td class="proto">void MessageFormat::setFormat(const UnicodeString &, const Format &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool Normalizer2::hasBoundaryAfter(UChar32) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">msgfmt.h</td><td class="proto">Format* MessageFormat::getFormat(const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool Normalizer2::hasBoundaryBefore(UChar32) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">msgfmt.h</td><td class="proto">void MessageFormat::adoptFormat(const UnicodeString &, Format *, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool Normalizer2::isInert(UChar32) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">msgfmt.h</td><td class="proto">StringEnumeration* MessageFormat::getFormatNames(UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool Normalizer2::isNormalized(const UnicodeString&, UErrorCode&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">void PluralFormat::applyPattern(const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UNormalizationCheckResult FilteredNormalizer2::quickCheck(const UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">UBool PluralFormat::operator!=(const Format &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UNormalizationCheckResult Normalizer2::quickCheck(const UnicodeString&, UErrorCode&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">UnicodeString PluralFormat::format(int32_t , UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString Normalizer2::normalize(const UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">void PluralFormat::parseObject(const UnicodeString &, Formattable &, ParsePosition &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString& FilteredNormalizer2::append(UnicodeString&, const UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const Locale &, const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString& FilteredNormalizer2::normalize(const UnicodeString&, UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">UnicodeString PluralFormat::format(double , UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString& FilteredNormalizer2::normalizeSecondAndAppend(UnicodeString&, const UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString& Normalizer2::append(UnicodeString&, const UnicodeString&, UErrorCode&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">UnicodeString& PluralFormat::format(int32_t , UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString& Normalizer2::normalize(const UnicodeString&, UnicodeString&, UErrorCode&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">static UClassID PluralFormat::getStaticClassID(void)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString& Normalizer2::normalizeSecondAndAppend(UnicodeString&, const UnicodeString&, UErrorCode&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const PluralFormat &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">int32_t FilteredNormalizer2::spanQuickCheckYes(const UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">UnicodeString& PluralFormat::toPattern(UnicodeString &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">int32_t Normalizer2::spanQuickCheckYes(const UnicodeString&, UErrorCode&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::~PluralFormat()</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto"><tt>static</tt> const Normalizer2* Normalizer2::getInstance(const char*, const char*, UNormalization2Mode, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">UBool PluralFormat::operator==(const Format &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">numfmt.h</td><td class="proto">UnicodeString& NumberFormat::format(const Formattable&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const PluralRules &, const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">numfmt.h</td><td class="proto">UnicodeString& NumberFormat::format(const StringPiece&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const Locale &, const PluralRules &, const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">numfmt.h</td><td class="proto">UnicodeString& NumberFormat::format(double, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">void PluralFormat::setLocale(const Locale &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">numfmt.h</td><td class="proto">UnicodeString& NumberFormat::format(int32_t, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat& PluralFormat::operator=(const PluralFormat &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">numfmt.h</td><td class="proto">UnicodeString& NumberFormat::format(int64_t, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">platform.h</td><td class="proto"><tt>#define</tt> UCLN_NO_AUTO_CLEANUP</td><td class="">Draft<br>4.4</td><td>Internal<br>
+<span class="verchange"><span>.</span></span></td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">UClassID PluralFormat::getDynamicClassID() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">platform.h</td><td class="proto"><tt>#define</tt> U_CHECK_DYLOAD</td><td class="">Draft<br>4.4</td><td>Internal<br>
+<span class="verchange"><span>.</span></span></td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">UnicodeString& PluralFormat::format(double , UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">platform.h</td><td class="proto"><tt>#define</tt> U_ENABLE_DYLOAD</td><td class="">Draft<br>4.4</td><td>Internal<br>
+<span class="verchange"><span>.</span></span></td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const Locale &, const PluralRules &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">platform.h</td><td class="proto"><tt>#define</tt> U_HAVE_STD_STRING</td><td class="">Draft<br>4.2</td><td>Internal<br>
+<span class="verchange"><span>.</span></span></td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">UnicodeString& PluralFormat::format(const Formattable &, UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::appendReplacement(UText*, UText*, UErrorCode&)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const Locale &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::reset(UText*)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">void PluralFormat::setNumberFormat(const NumberFormat *, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">RegexMatcher* RegexPattern::matcher(UText*, PatternIsUTextFlag, UErrorCode&) const</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const PluralRules &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">RegexMatcher::RegexMatcher(UText*, UText*, uint32_t, UErrorCode&)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">Format* PluralFormat::clone(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">RegexMatcher::RegexMatcher(UText*, uint32_t, UErrorCode&)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">static PluralRules* PluralRules::createRules(const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">UText* RegexMatcher::inputText() const</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">UBool PluralRules::operator!=(const PluralRules &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">UText* RegexMatcher::replaceAll(UText*, UText*, UErrorCode&)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">static PluralRules* PluralRules::createDefaultRules(UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">UText* RegexMatcher::replaceFirst(UText*, UText*, UErrorCode&)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">PluralRules* PluralRules::clone() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto"><tt>enum</tt>
+ RegexPattern::PatternIsUTextFlag {}</td><td class="">Internal<br>.</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">UBool PluralRules::isKeyword(const UnicodeString &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto"><tt>enum</tt>
+ RegexPattern::PatternIsUTextFlag::PATTERN_IS_UTEXT</td><td class="">Internal<br>.</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">static UClassID PluralRules::getStaticClassID(void)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">int32_t RegexMatcher::split(UText*, UText*dest[], int32_t, UErrorCode&)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">PluralRules::PluralRules(UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">int32_t RegexPattern::split(UText*, UText*dest[], int32_t, UErrorCode&) const</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">UnicodeString PluralRules::select(double ) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto"><tt>static</tt> RegexPattern* RegexPattern::compile(UText*, UParseError&, UErrorCode&)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">UnicodeString PluralRules::select(int32_t ) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto"><tt>static</tt> RegexPattern* RegexPattern::compile(UText*, uint32_t, UErrorCode&)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">static PluralRules* PluralRules::forLocale(const Locale &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto"><tt>static</tt> RegexPattern* RegexPattern::compile(UText*, uint32_t, UParseError&, UErrorCode&)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">StringEnumeration* PluralRules::getKeywords(UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto"><tt>static</tt> UBool RegexPattern::matches(UText*, UText*, UParseError&, UErrorCode&)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">UClassID PluralRules::getDynamicClassID() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">Format* SelectFormat::clone()const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">PluralRules::~PluralRules()</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">SelectFormat& SelectFormat::operator=(const SelectFormat&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">PluralRules& PluralRules::operator=(const PluralRules &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">SelectFormat::SelectFormat(const SelectFormat&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">UBool PluralRules::operator==(const PluralRules &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">SelectFormat::SelectFormat(const UnicodeString&, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">PluralRules::PluralRules(const PluralRules &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">SelectFormat::~SelectFormat()</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">void RegexMatcher::setTimeLimit(int32_t , UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">UBool SelectFormat::operator!=(const Format&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">void RegexMatcher::getMatchCallback(URegexMatchCallback *&, const void *&, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">UBool SelectFormat::operator==(const Format&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">void RegexMatcher::setMatchCallback(URegexMatchCallback *, const void *, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">UClassID SelectFormat::getDynamicClassID() const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::useTransparentBounds(UBool )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">UnicodeString& SelectFormat::format(const Formattable&, UnicodeString&, FieldPosition&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::hasTransparentBounds() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">UnicodeString& SelectFormat::format(const UnicodeString&, UnicodeString&, FieldPosition&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">int32_t RegexMatcher::getTimeLimit() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">UnicodeString& SelectFormat::toPattern(UnicodeString&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::region(int32_t , int32_t , UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto"><tt>static</tt> UClassID SelectFormat::getStaticClassID()</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">int32_t RegexMatcher::regionEnd() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">void SelectFormat::applyPattern(const UnicodeString&, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::hitEnd() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">void SelectFormat::parseObject(const UnicodeString&, Formattable&, ParsePosition&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::useAnchoringBounds(UBool )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">smpdtfmt.h</td><td class="proto">UnicodeString& SimpleDateFormat::format(Calendar&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">void RegexMatcher::setStackLimit(int32_t , UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">smpdtfmt.h</td><td class="proto">UnicodeString& SimpleDateFormat::format(UDate, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">int32_t RegexMatcher::getStackLimit() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">smpdtfmt.h</td><td class="proto">UnicodeString& SimpleDateFormat::format(const Formattable&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">int32_t RegexMatcher::regionStart() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">std_string.h</td><td class="proto"><tt>#define</tt> U_HAVE_STD_STRING</td><td class="">Draft<br>4.2</td><td>Internal<br>
+<span class="verchange"><span>.</span></span></td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::hasAnchoringBounds() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">timezone.h</td><td class="proto"><tt>enum</tt>
+ TimeZone::EDisplayType::GENERIC_LOCATION</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::requireEnd() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">timezone.h</td><td class="proto"><tt>enum</tt>
+ TimeZone::EDisplayType::LONG_GENERIC</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">timezone.h</td><td class="proto">static UnicodeString& TimeZone::getCanonicalID(const UnicodeString &, UnicodeString &, UBool &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">timezone.h</td><td class="proto"><tt>enum</tt>
+ TimeZone::EDisplayType::LONG_GMT</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">timezone.h</td><td class="proto">static UnicodeString& TimeZone::getCanonicalID(const UnicodeString &, UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">timezone.h</td><td class="proto"><tt>enum</tt>
+ TimeZone::EDisplayType::SHORT_COMMONLY_USED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">tmutfmt.h</td><td class="proto">static UBool hashTableValueComparator(UHashTok , UHashTok )</td><td class="">Internal<br>4.0</td><td>Internal<br>
-<span class="verchange"><span>4.2</span></span></td>
+<td class="file">timezone.h</td><td class="proto"><tt>enum</tt>
+ TimeZone::EDisplayType::SHORT_GENERIC</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ucal.h</td><td class="proto">int32_t ucal_getCanonicalTimeZoneID(const UChar *, int32_t , UChar *, int32_t , UBool *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">timezone.h</td><td class="proto"><tt>enum</tt>
+ TimeZone::EDisplayType::SHORT_GMT</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ucal.h</td><td class="proto">UCalendar* ucal_clone(const UCalendar *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">ucal.h</td><td class="proto">UBool ucal_isWeekend(const UCalendar*, UDate, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ucurr.h</td><td class="proto">int32_t ucurr_countCurrencies(const char *, UDate , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">ucal.h</td><td class="proto">UCalendarWeekdayType ucal_getDayOfWeekType(const UCalendar*, UCalendarDaysOfWeek, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ucurr.h</td><td class="proto">int32_t ucurr_forLocaleAndDate(const char *, UDate , int32_t , UChar *, int32_t , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UCalendarType::UCAL_DEFAULT</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">uloc.h</td><td class="proto">ULayoutType uloc_getLineOrientation(const char *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UCalendarWeekdayType {}</td><td class="" colspan="2" align="center">Draft»Stable<br>
+</td>
</tr>
<tr class="row0">
-<td class="file">uloc.h</td><td class="proto">ULayoutType uloc_getCharacterOrientation(const char *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UCalendarWeekdayType::UCAL_WEEKDAY</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uloc.h</td><td class="proto">int32_t uloc_minimizeSubtags(const char *, char *, int32_t , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UCalendarWeekdayType::UCAL_WEEKEND_CEASE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uloc.h</td><td class="proto">int32_t uloc_addLikelySubtags(const char *, char *, int32_t , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UCalendarWeekdayType::UCAL_WEEKEND_ONSET</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uniset.h</td><td class="proto">UnicodeSet& UnicodeSet::closeOver(int32_t )</td><td class="">Internal<br>.</td><td>Draft<br>
-<span class="verchange"><span>4.2</span></span></td>
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UCalendarWeekdayType::UCAL_WEEKEND</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uniset.h</td><td class="proto">UBool UnicodeSet::isBogus(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">ucal.h</td><td class="proto">int32_t ucal_getWeekendTransition(const UCalendar*, UCalendarDaysOfWeek, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uniset.h</td><td class="proto">UnicodeSet& UnicodeSet::removeAllStrings()</td><td class="">Internal<br>.</td><td>Draft<br>
-<span class="verchange"><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_AVESTAN</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uniset.h</td><td class="proto">void UnicodeSet::setToBogus()</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_BAMUM</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">int32_t uregex_getStackLimit(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">UBool uregex_hitEnd(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_COMMON_INDIC_NUMBER_FORMS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">void uregex_setStackLimit(URegularExpression *, int32_t , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_DEVANAGARI_EXTENDED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">UBool uregex_hasAnchoringBounds(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_EGYPTIAN_HIEROGLYPHS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">int32_t uregex_regionStart(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">void uregex_getMatchCallback(const URegularExpression *, URegexMatchCallback **, const void **, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">void uregex_useTransparentBounds(URegularExpression *, UBool , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_HANGUL_JAMO_EXTENDED_A</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">void uregex_setRegion(URegularExpression *, int32_t , int32_t , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_HANGUL_JAMO_EXTENDED_B</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">void uregex_setTimeLimit(URegularExpression *, int32_t , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_IMPERIAL_ARAMAIC</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">void uregex_useAnchoringBounds(URegularExpression *, UBool , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_INSCRIPTIONAL_PAHLAVI</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">UBool uregex_requireEnd(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_INSCRIPTIONAL_PARTHIAN</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">int32_t uregex_getTimeLimit(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_JAVANESE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">UBool uregex_hasTransparentBounds(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_KAITHI</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">void uregex_setMatchCallback(URegularExpression *, URegexMatchCallback *, const void *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_LISU</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">int32_t uregex_regionEnd(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_MEETEI_MAYEK</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_sprintf_u(UChar *, const UChar *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_MYANMAR_EXTENDED_A</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">UChar* u_fgets(UChar *, int32_t , UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_OLD_SOUTH_ARABIAN</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_snprintf(UChar *, int32_t , const char *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_OLD_TURKIC</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_snprintf_u(UChar *, int32_t , const UChar *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_RUMI_NUMERAL_SYMBOLS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vfscanf(UFILE *, const char *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_SAMARITAN</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_sprintf(UChar *, const char *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_TAI_THAM</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">UChar32 u_fputc(UChar32 , UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_TAI_VIET</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vsprintf_u(UChar *, const UChar *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">void u_fclose(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_VEDIC_EXTENSIONS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vsprintf(UChar *, const char *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UCharNameChoice::U_CHAR_NAME_ALIAS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">void u_fflush(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_FARSI_YEH</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vfprintf_u(UFILE *, const UChar *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_NYA</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vsnprintf_u(UChar *, int32_t , const UChar *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CASED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">const char* u_fgetlocale(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CASE_IGNORABLE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_file_write(const UChar *, int32_t , UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CHANGES_WHEN_CASEFOLDED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_file_read(UChar *, int32_t , UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CHANGES_WHEN_CASEMAPPED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">FILE* u_fgetfile(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CHANGES_WHEN_LOWERCASED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vfscanf_u(UFILE *, const UChar *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">UConverter* u_fgetConverter(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CHANGES_WHEN_TITLECASED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">UFILE* u_fstropen(UChar *, int32_t , const char *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CHANGES_WHEN_UPPERCASED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">UChar32 u_fgetcx(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">udat.h</td><td class="proto">UCalendarDateFields udat_toCalendarDateField(UDateFormatField)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fprintf(UFILE *, const char *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">udatpg.h</td><td class="proto"><tt>enum</tt> UDateTimePatternMatchOptions {}</td><td class="" colspan="2" align="center">Draft»Stable<br>
+</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fscanf_u(UFILE *, const UChar *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">udatpg.h</td><td class="proto"><tt>enum</tt> UDateTimePatternMatchOptions::UDATPG_MATCH_ALL_FIELDS_LENGTH</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">UChar u_fgetc(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">udatpg.h</td><td class="proto"><tt>enum</tt> UDateTimePatternMatchOptions::UDATPG_MATCH_HOUR_FIELD_LENGTH</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vsscanf_u(const UChar *, const UChar *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">udatpg.h</td><td class="proto"><tt>enum</tt> UDateTimePatternMatchOptions::UDATPG_MATCH_NO_OPTIONS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_sscanf(const UChar *, const char *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">udatpg.h</td><td class="proto">int32_t udatpg_getBestPatternWithOptions(UDateTimePatternGenerator*, const UChar*, int32_t, UDateTimePatternMatchOptions, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">const char* u_fgetcodepage(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">udatpg.h</td><td class="proto">int32_t udatpg_replaceFieldTypesWithOptions(UDateTimePatternGenerator*, const UChar*, int32_t, const UChar*, int32_t, UDateTimePatternMatchOptions, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">void u_frewind(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto">UDialectHandling uldn_getDialectHandling(const ULocaleDisplayNames*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_sscanf_u(const UChar *, const UChar *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto">ULocaleDisplayNames* uldn_open(const char*, UDialectHandling, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">UFILE* u_finit(FILE *, const char *, const char *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto">const char* uldn_getLocale(const ULocaleDisplayNames*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fprintf_u(UFILE *, const UChar *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto"><tt>enum</tt> UDialectHandling {}</td><td class="" colspan="2" align="center">Draft»Stable<br>
+</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">UTransliterator* u_fsettransliterator(UFILE *, UFileDirection , UTransliterator *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto"><tt>enum</tt> UDialectHandling::ULDN_DIALECT_NAMES</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fscanf(UFILE *, const char *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto"><tt>enum</tt> UDialectHandling::ULDN_STANDARD_NAMES</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vsscanf(const UChar *, const char *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_keyDisplayName(const ULocaleDisplayNames*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vfprintf(UFILE *, const char *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_keyValueDisplayName(const ULocaleDisplayNames*, const char*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">UFILE* u_fopen(const char *, const char *, const char *, const char *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_languageDisplayName(const ULocaleDisplayNames*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">UChar32 u_fungetc(UChar32 , UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_localeDisplayName(const ULocaleDisplayNames*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fputs(const UChar *, UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_regionDisplayName(const ULocaleDisplayNames*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">UBool u_feof(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_scriptCodeDisplayName(const ULocaleDisplayNames*, UScriptCode, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fsetlocale(UFILE *, const char *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_scriptDisplayName(const ULocaleDisplayNames*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vsnprintf(UChar *, int32_t , const char *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_variantDisplayName(const ULocaleDisplayNames*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fsetcodepage(const char *, UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uldnames.h</td><td class="proto">void uldn_close(ULocaleDisplayNames*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
+<tr class="row0">
+<td class="file">uniset.h</td><td class="proto">int32_t UnicodeSet::span(const UnicodeString&, int32_t, USetSpanCondition) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uniset.h</td><td class="proto">int32_t UnicodeSet::spanBack(const UnicodeString&, int32_t, USetSpanCondition) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">unistr.h</td><td class="proto">UnicodeString UnicodeString::tempSubString(int32_t start=, int32_t length=) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">unistr.h</td><td class="proto">UnicodeString UnicodeString::tempSubStringBetween(int32_t, int32_t limit=) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">unistr.h</td><td class="proto">UnicodeString& UnicodeString::retainBetween(int32_t, int32_t limit=)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">unorm2.h</td><td class="proto">UBool unorm2_hasBoundaryAfter(const UNormalizer2*, UChar32)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">unorm2.h</td><td class="proto">UBool unorm2_hasBoundaryBefore(const UNormalizer2*, UChar32)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">unorm2.h</td><td class="proto">UBool unorm2_isInert(const UNormalizer2*, UChar32)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">unorm2.h</td><td class="proto">UBool unorm2_isNormalized(const UNormalizer2*, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">unorm2.h</td><td class="proto">UNormalizationCheckResult unorm2_quickCheck(const UNormalizer2*, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">unorm2.h</td><td class="proto">UNormalizer2* unorm2_openFiltered(const UNormalizer2*, const USet*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">unorm2.h</td><td class="proto">const UNormalizer2* unorm2_getInstance(const char*, const char*, UNormalization2Mode, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">unorm2.h</td><td class="proto"><tt>enum</tt> UNormalization2Mode {}</td><td class="" colspan="2" align="center">Draft»Stable<br>
+</td>
+</tr>
+<tr class="row1">
+<td class="file">unorm2.h</td><td class="proto"><tt>enum</tt> UNormalization2Mode::UNORM2_COMPOSE_CONTIGUOUS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">unorm2.h</td><td class="proto"><tt>enum</tt> UNormalization2Mode::UNORM2_COMPOSE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">unorm2.h</td><td class="proto"><tt>enum</tt> UNormalization2Mode::UNORM2_DECOMPOSE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">unorm2.h</td><td class="proto"><tt>enum</tt> UNormalization2Mode::UNORM2_FCD</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">unorm2.h</td><td class="proto">int32_t unorm2_append(const UNormalizer2*, UChar*, int32_t, int32_t, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">unorm2.h</td><td class="proto">int32_t unorm2_normalize(const UNormalizer2*, const UChar*, int32_t, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">unorm2.h</td><td class="proto">int32_t unorm2_normalizeSecondAndAppend(const UNormalizer2*, UChar*, int32_t, int32_t, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">unorm2.h</td><td class="proto">int32_t unorm2_spanQuickCheckYes(const UNormalizer2*, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">unorm2.h</td><td class="proto">void unorm2_close(UNormalizer2*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatStyle::UNUM_NUMBERING_SYSTEM</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">unum.h</td><td class="proto">int32_t unum_formatDecimal(const UNumberFormat*, const char*, int32_t, UChar*, int32_t, UFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">unum.h</td><td class="proto">int32_t unum_parseDecimal(const UNumberFormat*, const UChar*, int32_t, int32_t*, char*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uregex.h</td><td class="proto">URegularExpression* uregex_openUText(UText*, uint32_t, UParseError*, UErrorCode*)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">uregex.h</td><td class="proto">UText* uregex_getUText(URegularExpression*, UText*, UErrorCode*)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">uregex.h</td><td class="proto">UText* uregex_patternUText(const URegularExpression*, UErrorCode*)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">uregex.h</td><td class="proto">UText* uregex_replaceAllUText(URegularExpression*, UText*, UText*, UErrorCode*)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">uregex.h</td><td class="proto">UText* uregex_replaceFirstUText(URegularExpression*, UText*, UText*, UErrorCode*)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">uregex.h</td><td class="proto">int32_t uregex_splitUText(URegularExpression*, UText*destFields[], int32_t, UErrorCode*)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">uregex.h</td><td class="proto">void uregex_appendReplacementUText(URegularExpression*, UText*, UText*, UErrorCode*)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">uregex.h</td><td class="proto">void uregex_setUText(URegularExpression*, UText*, UErrorCode*)</td><td class="">Internal<br>4.4 technology preview</td><td>Draft<br>
+<span class="verchange"><span>4.6</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_MANDAEAN</td><td class="stabchange">Stable<br>2.2</td><td>Stable<br>
+<span class="verchange"><span>3.6</span>
+<br>
+<b class="bigwarn" title="A stable API changed version.">(changed)</b></span></td>
+</tr>
+<tr class="row0">
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_MEROITIC</td><td class="stabchange">Stable<br>2.2</td><td>Stable<br>
+<span class="verchange"><span>3.6</span>
+<br>
+<b class="bigwarn" title="A stable API changed version.">(changed)</b></span></td>
+</tr>
+<tr class="row1">
+<td class="file">usearch.h</td><td class="proto"><tt>enum</tt> USearchAttribute::USEARCH_ELEMENT_COMPARISON</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">usearch.h</td><td class="proto"><tt>enum</tt> USearchAttributeValue::USEARCH_ANY_BASE_WEIGHT_IS_WILDCARD</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">usearch.h</td><td class="proto"><tt>enum</tt> USearchAttributeValue::USEARCH_PATTERN_BASE_WEIGHT_IS_WILDCARD</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">usearch.h</td><td class="proto"><tt>enum</tt> USearchAttributeValue::USEARCH_STANDARD_ELEMENT_COMPARISON</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_LAMALEF_AUTO</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_LAMALEF_BEGIN</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_LAMALEF_END</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_LAMALEF_MASK</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_LAMALEF_NEAR</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_LAMALEF_RESIZE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_SEEN_MASK</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_SEEN_TWOCELL_NEAR</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_SPACES_RELATIVE_TO_TEXT_BEGIN_END</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_SPACES_RELATIVE_TO_TEXT_MASK</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_TASHKEEL_BEGIN</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_TASHKEEL_END</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_TASHKEEL_MASK</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_TASHKEEL_RESIZE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_TEXT_DIRECTION_VISUAL_RTL</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_YEHHAMZA_MASK</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_YEHHAMZA_TWOCELL_NEAR</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">ustdio.h</td><td class="proto">UFILE* u_fadopt(FILE*, const char*, const char*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">ustring.h</td><td class="proto">UChar* u_strFromJavaModifiedUTF8WithSub(UChar*, int32_t, int32_t*, const char*, int32_t, UChar32, int32_t*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">ustring.h</td><td class="proto">char* u_strToJavaModifiedUTF8(char*, int32_t, int32_t*, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">utf.h</td><td class="proto"><tt>#define</tt> U_IS_SURROGATE_TRAIL</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">utf16.h</td><td class="proto"><tt>#define</tt> U16_IS_SURROGATE_TRAIL</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">utypes.h</td><td class="proto"><tt>#define</tt> U_CHARSET_IS_UTF8</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">uvernum.h</td><td class="proto"><tt>#define</tt> U_ICU_ENTRY_POINT_RENAME</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
</table>
<P></P>
<a href="#_top">(jump back to top)</a>
<hr>
-<a name="promoted">
-<h2>Promoted to stable in 4.2</h2>
-</a>
+<a name="promoted"></a>
+<h2>Promoted to stable in 4.6</h2>
<table BORDER="1" class="genTable">
<THEAD>
<tr>
-<th>File</th><th>API</th><th>4.0.1</th><th>4.2</th>
+<th>File</th><th>API</th><th>4.4.2</th><th>4.6</th>
</tr>
</THEAD>
<tr class="row1">
-<td class="file">dtintrv.h</td><td class="proto">UDate DateInterval::getToDate() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">calendar.h</td><td class="proto">UBool Calendar::isWeekend()const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtintrv.h</td><td class="proto">DateInterval::DateInterval(UDate , UDate )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">calendar.h</td><td class="proto">UBool Calendar::isWeekend(UDate, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtintrv.h</td><td class="proto">static UClassID DateInterval::getStaticClassID(void)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">calendar.h</td><td class="proto">UCalendarWeekdayType Calendar::getDayOfWeekType(UCalendarDaysOfWeek, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtintrv.h</td><td class="proto">DateInterval::~DateInterval()</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">calendar.h</td><td class="proto">int32_t Calendar::getWeekendTransition(UCalendarDaysOfWeek, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtintrv.h</td><td class="proto">DateInterval& DateInterval::operator=(const DateInterval &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">datefmt.h</td><td class="proto">UnicodeString& DateFormat::format(Calendar&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtintrv.h</td><td class="proto">UBool DateInterval::operator==(const DateInterval &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">datefmt.h</td><td class="proto">UnicodeString& DateFormat::format(UDate, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtintrv.h</td><td class="proto">UDate DateInterval::getFromDate() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">datefmt.h</td><td class="proto">UnicodeString& DateFormat::format(const Formattable&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtintrv.h</td><td class="proto">DateInterval* DateInterval::clone() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">dcfmtsym.h</td><td class="proto">void DecimalFormatSymbols::setSymbol(ENumberFormatSymbol, const UnicodeString&, const UBool)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.0</span></span></td>
</tr>
<tr class="row1">
-<td class="file">dtintrv.h</td><td class="proto">UClassID DateInterval::getDynamicClassID(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">decimfmt.h</td><td class="proto">UnicodeString& DecimalFormat::format(const StringPiece&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtintrv.h</td><td class="proto">UBool DateInterval::operator!=(const DateInterval &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">decimfmt.h</td><td class="proto">UnicodeString& DecimalFormat::format(double, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtintrv.h</td><td class="proto">DateInterval::DateInterval(const DateInterval &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">decimfmt.h</td><td class="proto">UnicodeString& DecimalFormat::format(int32_t, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">static UClassID DateIntervalFormat::getStaticClassID(void)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">decimfmt.h</td><td class="proto">UnicodeString& DecimalFormat::format(int64_t, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">DateIntervalFormat::~DateIntervalFormat()</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">dtptngen.h</td><td class="proto">UnicodeString DateTimePatternGenerator::getBestPattern(const UnicodeString&, UDateTimePatternMatchOptions, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">UBool DateIntervalFormat::operator==(const Format &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">dtptngen.h</td><td class="proto">UnicodeString DateTimePatternGenerator::replaceFieldTypes(const UnicodeString&, const UnicodeString&, UDateTimePatternMatchOptions, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">static DateIntervalFormat* DateIntervalFormat::createInstance(const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">errorcode.h</td><td class="proto">const char* ErrorCode::errorName() const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">UnicodeString& DateIntervalFormat::format(const DateInterval *, UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">errorcode.h</td><td class="proto">void ErrorCode::assertSuccess() const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">UnicodeString& DateIntervalFormat::format(const Formattable &, UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fmtable.h</td><td class="proto">Formattable::Formattable(const StringPiece&, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">static DateIntervalFormat* DateIntervalFormat::createInstance(const UnicodeString &, const Locale &, const DateIntervalInfo &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fmtable.h</td><td class="proto">StringPiece Formattable::getDecimalNumber(UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">static DateIntervalFormat* DateIntervalFormat::createInstance(const UnicodeString &, const DateIntervalInfo &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fmtable.h</td><td class="proto">void Formattable::setDecimalNumber(const StringPiece&, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">const DateIntervalInfo* DateIntervalFormat::getDateIntervalInfo(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">format.h</td><td class="proto">UnicodeString& Format::format(const Formattable&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">const DateFormat* DateIntervalFormat::getDateFormat(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fpositer.h</td><td class="proto">FieldPositionIterator::FieldPositionIterator()</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">UClassID DateIntervalFormat::getDynamicClassID(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fpositer.h</td><td class="proto">FieldPositionIterator::FieldPositionIterator(const FieldPositionIterator&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">void DateIntervalFormat::setDateIntervalInfo(const DateIntervalInfo &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fpositer.h</td><td class="proto">FieldPositionIterator::~FieldPositionIterator()</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">static DateIntervalFormat* DateIntervalFormat::createInstance(const UnicodeString &, const Locale &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fpositer.h</td><td class="proto">UBool FieldPositionIterator::next(FieldPosition&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">UnicodeString& DateIntervalFormat::format(Calendar &, Calendar &, UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fpositer.h</td><td class="proto">UBool FieldPositionIterator::operator!=(const FieldPositionIterator&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">UBool DateIntervalFormat::operator!=(const Format &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">fpositer.h</td><td class="proto">UBool FieldPositionIterator::operator==(const FieldPositionIterator&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">Format* DateIntervalFormat::clone(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::bamuScriptCode</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">dtitvinf.h</td><td class="proto">UnicodeString& DateIntervalInfo::getFallbackIntervalPattern(UnicodeString &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::bassScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row1">
-<td class="file">dtitvinf.h</td><td class="proto">void DateIntervalInfo::setIntervalPattern(const UnicodeString &, UCalendarDateFields , const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::duplScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">dtitvinf.h</td><td class="proto">DateIntervalInfo& DateIntervalInfo::operator=(const DateIntervalInfo &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::elbaScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">dtitvinf.h</td><td class="proto">DateIntervalInfo* DateIntervalInfo::clone(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::granScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">dtitvinf.h</td><td class="proto">UBool DateIntervalInfo::getDefaultOrder() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::kpelScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">dtitvinf.h</td><td class="proto">DateIntervalInfo::DateIntervalInfo(const Locale &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::lomaScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">dtitvinf.h</td><td class="proto">DateIntervalInfo::~DateIntervalInfo()</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::mendScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">dtitvinf.h</td><td class="proto">DateIntervalInfo::DateIntervalInfo(const DateIntervalInfo &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::mercScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">dtitvinf.h</td><td class="proto">UnicodeString& DateIntervalInfo::getIntervalPattern(const UnicodeString &, UCalendarDateFields , UnicodeString &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::narbScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">dtitvinf.h</td><td class="proto">void DateIntervalInfo::setFallbackIntervalPattern(const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::nbatScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">msgfmt.h</td><td class="proto">UBool MessageFormat::usesNamedArguments() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::palmScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">msgfmt.h</td><td class="proto">void MessageFormat::setFormat(const UnicodeString &, const Format &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::sindScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">msgfmt.h</td><td class="proto">Format* MessageFormat::getFormat(const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::waraScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">msgfmt.h</td><td class="proto">void MessageFormat::adoptFormat(const UnicodeString &, Format *, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LESwaps.h</td><td class="proto"><tt>static</tt> le_uint16 LESwaps::swapWord(le_uint16)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.8</span></span></td>
</tr>
<tr class="row0">
-<td class="file">msgfmt.h</td><td class="proto">StringEnumeration* MessageFormat::getFormatNames(UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">LESwaps.h</td><td class="proto"><tt>static</tt> le_uint32 LESwaps::swapLong(le_uint32)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.8</span></span></td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">void PluralFormat::applyPattern(const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">LocaleDisplayNames::~LocaleDisplayNames()</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">UBool PluralFormat::operator!=(const Format &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UDialectHandling LocaleDisplayNames::getDialectHandling() const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">UnicodeString PluralFormat::format(int32_t , UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::keyDisplayName(const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">void PluralFormat::parseObject(const UnicodeString &, Formattable &, ParsePosition &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::keyValueDisplayName(const char*, const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const Locale &, const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::languageDisplayName(const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">UnicodeString PluralFormat::format(double , UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::localeDisplayName(const Locale&, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::localeDisplayName(const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">UnicodeString& PluralFormat::format(int32_t , UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::regionDisplayName(const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">static UClassID PluralFormat::getStaticClassID(void)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::scriptDisplayName(UScriptCode, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const PluralFormat &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::scriptDisplayName(const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">UnicodeString& PluralFormat::toPattern(UnicodeString &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">UnicodeString& LocaleDisplayNames::variantDisplayName(const char*, UnicodeString&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::~PluralFormat()</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto">const Locale& LocaleDisplayNames::getLocale() const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">UBool PluralFormat::operator==(const Format &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto"><tt>static</tt> LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const PluralRules &, const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locdspnm.h</td><td class="proto"><tt>static</tt> LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale&, UDialectHandling)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const Locale &, const PluralRules &, const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locid.h</td><td class="proto"><tt>static</tt> const Locale& Locale::getRoot()</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">void PluralFormat::setLocale(const Locale &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locid.h</td><td class="proto"><tt>static</tt> const char* const Locale::getISOCountries()</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.0</span></span></td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat& PluralFormat::operator=(const PluralFormat &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">locid.h</td><td class="proto"><tt>static</tt> const char* const Locale::getISOLanguages()</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.0</span></span></td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">FilteredNormalizer2::FilteredNormalizer2(const Normalizer2&, const UnicodeSet&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">UClassID PluralFormat::getDynamicClassID() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool FilteredNormalizer2::hasBoundaryAfter(UChar32) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">UnicodeString& PluralFormat::format(double , UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool FilteredNormalizer2::hasBoundaryBefore(UChar32) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const Locale &, const PluralRules &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool FilteredNormalizer2::isInert(UChar32) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">UnicodeString& PluralFormat::format(const Formattable &, UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool FilteredNormalizer2::isNormalized(const UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const Locale &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool Normalizer2::hasBoundaryAfter(UChar32) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">void PluralFormat::setNumberFormat(const NumberFormat *, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool Normalizer2::hasBoundaryBefore(UChar32) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurfmt.h</td><td class="proto">PluralFormat::PluralFormat(const PluralRules &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool Normalizer2::isInert(UChar32) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurfmt.h</td><td class="proto">Format* PluralFormat::clone(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UBool Normalizer2::isNormalized(const UnicodeString&, UErrorCode&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">static PluralRules* PluralRules::createRules(const UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UNormalizationCheckResult FilteredNormalizer2::quickCheck(const UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">UBool PluralRules::operator!=(const PluralRules &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UNormalizationCheckResult Normalizer2::quickCheck(const UnicodeString&, UErrorCode&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">static PluralRules* PluralRules::createDefaultRules(UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString Normalizer2::normalize(const UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">PluralRules* PluralRules::clone() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString& FilteredNormalizer2::append(UnicodeString&, const UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">UBool PluralRules::isKeyword(const UnicodeString &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString& FilteredNormalizer2::normalize(const UnicodeString&, UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">static UClassID PluralRules::getStaticClassID(void)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString& FilteredNormalizer2::normalizeSecondAndAppend(UnicodeString&, const UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">PluralRules::PluralRules(UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString& Normalizer2::append(UnicodeString&, const UnicodeString&, UErrorCode&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">UnicodeString PluralRules::select(double ) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString& Normalizer2::normalize(const UnicodeString&, UnicodeString&, UErrorCode&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">UnicodeString PluralRules::select(int32_t ) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">UnicodeString& Normalizer2::normalizeSecondAndAppend(UnicodeString&, const UnicodeString&, UErrorCode&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">static PluralRules* PluralRules::forLocale(const Locale &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">int32_t FilteredNormalizer2::spanQuickCheckYes(const UnicodeString&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">StringEnumeration* PluralRules::getKeywords(UErrorCode &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto">int32_t Normalizer2::spanQuickCheckYes(const UnicodeString&, UErrorCode&) const =0</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">UClassID PluralRules::getDynamicClassID() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">normalizer2.h</td><td class="proto"><tt>static</tt> const Normalizer2* Normalizer2::getInstance(const char*, const char*, UNormalization2Mode, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">PluralRules::~PluralRules()</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">numfmt.h</td><td class="proto">UnicodeString& NumberFormat::format(const Formattable&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">PluralRules& PluralRules::operator=(const PluralRules &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">numfmt.h</td><td class="proto">UnicodeString& NumberFormat::format(const StringPiece&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">UBool PluralRules::operator==(const PluralRules &) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">numfmt.h</td><td class="proto">UnicodeString& NumberFormat::format(double, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">PluralRules::PluralRules(const PluralRules &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">numfmt.h</td><td class="proto">UnicodeString& NumberFormat::format(int32_t, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">void RegexMatcher::setTimeLimit(int32_t , UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">numfmt.h</td><td class="proto">UnicodeString& NumberFormat::format(int64_t, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">void RegexMatcher::getMatchCallback(URegexMatchCallback *&, const void *&, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::region(int64_t, int64_t, UErrorCode&)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.0</span></span></td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">void RegexMatcher::setMatchCallback(URegexMatchCallback *, const void *, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::reset(int64_t, UErrorCode&)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.8</span></span></td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::useTransparentBounds(UBool )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::find(int64_t, UErrorCode&)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.4</span></span></td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::hasTransparentBounds() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::lookingAt(int64_t, UErrorCode&)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.8</span></span></td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">int32_t RegexMatcher::getTimeLimit() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::matches(int64_t, UErrorCode&)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.8</span></span></td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::region(int32_t , int32_t , UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">Format* SelectFormat::clone()const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">int32_t RegexMatcher::regionEnd() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">SelectFormat& SelectFormat::operator=(const SelectFormat&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::hitEnd() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">SelectFormat::SelectFormat(const SelectFormat&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::useAnchoringBounds(UBool )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">SelectFormat::SelectFormat(const UnicodeString&, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">void RegexMatcher::setStackLimit(int32_t , UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">SelectFormat::~SelectFormat()</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">int32_t RegexMatcher::getStackLimit() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">UBool SelectFormat::operator!=(const Format&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">int32_t RegexMatcher::regionStart() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">UBool SelectFormat::operator==(const Format&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::hasAnchoringBounds() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">UClassID SelectFormat::getDynamicClassID() const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::requireEnd() const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">UnicodeString& SelectFormat::format(const Formattable&, UnicodeString&, FieldPosition&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">timezone.h</td><td class="proto">static UnicodeString& TimeZone::getCanonicalID(const UnicodeString &, UnicodeString &, UBool &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">UnicodeString& SelectFormat::format(const UnicodeString&, UnicodeString&, FieldPosition&, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">timezone.h</td><td class="proto">static UnicodeString& TimeZone::getCanonicalID(const UnicodeString &, UnicodeString &, UErrorCode &)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">UnicodeString& SelectFormat::toPattern(UnicodeString&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ucal.h</td><td class="proto">int32_t ucal_getCanonicalTimeZoneID(const UChar *, int32_t , UChar *, int32_t , UBool *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto"><tt>static</tt> UClassID SelectFormat::getStaticClassID()</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ucal.h</td><td class="proto">UCalendar* ucal_clone(const UCalendar *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">void SelectFormat::applyPattern(const UnicodeString&, UErrorCode&)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ucurr.h</td><td class="proto">int32_t ucurr_countCurrencies(const char *, UDate , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">selfmt.h</td><td class="proto">void SelectFormat::parseObject(const UnicodeString&, Formattable&, ParsePosition&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ucurr.h</td><td class="proto">int32_t ucurr_forLocaleAndDate(const char *, UDate , int32_t , UChar *, int32_t , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">smpdtfmt.h</td><td class="proto">UnicodeString& SimpleDateFormat::format(Calendar&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uloc.h</td><td class="proto">ULayoutType uloc_getLineOrientation(const char *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">smpdtfmt.h</td><td class="proto">UnicodeString& SimpleDateFormat::format(UDate, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uloc.h</td><td class="proto">ULayoutType uloc_getCharacterOrientation(const char *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">smpdtfmt.h</td><td class="proto">UnicodeString& SimpleDateFormat::format(const Formattable&, UnicodeString&, FieldPositionIterator*, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uloc.h</td><td class="proto">int32_t uloc_minimizeSubtags(const char *, char *, int32_t , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">timezone.h</td><td class="proto"><tt>enum</tt>
+ TimeZone::EDisplayType::GENERIC_LOCATION</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uloc.h</td><td class="proto">int32_t uloc_addLikelySubtags(const char *, char *, int32_t , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">timezone.h</td><td class="proto"><tt>enum</tt>
+ TimeZone::EDisplayType::LONG_GENERIC</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uniset.h</td><td class="proto">UBool UnicodeSet::isBogus(void) const</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">timezone.h</td><td class="proto"><tt>enum</tt>
+ TimeZone::EDisplayType::LONG_GMT</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uniset.h</td><td class="proto">void UnicodeSet::setToBogus()</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">timezone.h</td><td class="proto"><tt>enum</tt>
+ TimeZone::EDisplayType::SHORT_COMMONLY_USED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">UnicodeString::UnicodeString(const char *, int32_t , const char *)</td><td class="">None<br>
+<td class="file">timezone.h</td><td class="proto"><tt>enum</tt>
+ TimeZone::EDisplayType::SHORT_GENERIC</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">timezone.h</td><td class="proto"><tt>enum</tt>
+ TimeZone::EDisplayType::SHORT_GMT</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">ucal.h</td><td class="proto">UBool ucal_isWeekend(const UCalendar*, UDate, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">ucal.h</td><td class="proto">UCalendarWeekdayType ucal_getDayOfWeekType(const UCalendar*, UCalendarDaysOfWeek, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UCalendarType::UCAL_DEFAULT</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UCalendarWeekdayType {}</td><td class="" colspan="2" align="center">Draft»Stable<br>
+</td>
+</tr>
+<tr class="row0">
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UCalendarWeekdayType::UCAL_WEEKDAY</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UCalendarWeekdayType::UCAL_WEEKEND_CEASE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UCalendarWeekdayType::UCAL_WEEKEND_ONSET</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UCalendarWeekdayType::UCAL_WEEKEND</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">ucal.h</td><td class="proto">int32_t ucal_getWeekendTransition(const UCalendar*, UCalendarDaysOfWeek, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_ALCHEMICAL_SYMBOLS</td><td class="">None<br>
</td><td>Stable<br>
-<span class=""><span>2.0</span></span></td>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_AVESTAN</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
<tr class="row1">
-<td class="file">unistr.h</td><td class="proto">UnicodeString::UnicodeString(const char *, int32_t )</td><td class="">None<br>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_BAMUM_SUPPLEMENT</td><td class="">None<br>
</td><td>Stable<br>
-<span class=""><span>2.0</span></span></td>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">UnicodeString::UnicodeString(const char *, const char *)</td><td class="">None<br>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_BAMUM</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_BATAK</td><td class="">None<br>
</td><td>Stable<br>
-<span class=""><span>2.0</span></span></td>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_BRAHMI</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+</tr>
<tr class="row1">
-<td class="file">unistr.h</td><td class="proto">int32_t UnicodeString::extract(int32_t , int32_t , char *, uint32_t ) const</td><td class="">None<br>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D</td><td class="">None<br>
</td><td>Stable<br>
-<span class=""><span>2.0</span></span></td>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_COMMON_INDIC_NUMBER_FORMS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">UnicodeString::UnicodeString(const char *)</td><td class="">None<br>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_DEVANAGARI_EXTENDED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_EGYPTIAN_HIEROGLYPHS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_EMOTICONS</td><td class="">None<br>
</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_ETHIOPIC_EXTENDED_A</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_HANGUL_JAMO_EXTENDED_A</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_HANGUL_JAMO_EXTENDED_B</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_IMPERIAL_ARAMAIC</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_INSCRIPTIONAL_PAHLAVI</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_INSCRIPTIONAL_PARTHIAN</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_JAVANESE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_KAITHI</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_KANA_SUPPLEMENT</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_LISU</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_MANDAIC</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_MEETEI_MAYEK</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_MYANMAR_EXTENDED_A</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_OLD_SOUTH_ARABIAN</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_OLD_TURKIC</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_PLAYING_CARDS</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_RUMI_NUMERAL_SYMBOLS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_SAMARITAN</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_TAI_THAM</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_TAI_VIET</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_TRANSPORT_AND_MAP_SYMBOLS</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_VEDIC_EXTENSIONS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UCharNameChoice::U_CHAR_NAME_ALIAS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_FARSI_YEH</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_NYA</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_TEH_MARBUTA_GOAL</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CASED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CASE_IGNORABLE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CHANGES_WHEN_CASEFOLDED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CHANGES_WHEN_CASEMAPPED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CHANGES_WHEN_LOWERCASED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CHANGES_WHEN_TITLECASED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_CHANGES_WHEN_UPPERCASED</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">udat.h</td><td class="proto">UCalendarDateFields udat_toCalendarDateField(UDateFormatField)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">udatpg.h</td><td class="proto"><tt>enum</tt> UDateTimePatternMatchOptions {}</td><td class="" colspan="2" align="center">Draft»Stable<br>
+</td>
+</tr>
+<tr class="row1">
+<td class="file">udatpg.h</td><td class="proto"><tt>enum</tt> UDateTimePatternMatchOptions::UDATPG_MATCH_ALL_FIELDS_LENGTH</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">udatpg.h</td><td class="proto"><tt>enum</tt> UDateTimePatternMatchOptions::UDATPG_MATCH_HOUR_FIELD_LENGTH</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">udatpg.h</td><td class="proto"><tt>enum</tt> UDateTimePatternMatchOptions::UDATPG_MATCH_NO_OPTIONS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">udatpg.h</td><td class="proto">int32_t udatpg_getBestPatternWithOptions(UDateTimePatternGenerator*, const UChar*, int32_t, UDateTimePatternMatchOptions, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">udatpg.h</td><td class="proto">int32_t udatpg_replaceFieldTypesWithOptions(UDateTimePatternGenerator*, const UChar*, int32_t, const UChar*, int32_t, UDateTimePatternMatchOptions, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ALLOW_UNASSIGNED</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.6</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_DEFAULT</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.6</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_USE_STD3_RULES</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.6</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">uldnames.h</td><td class="proto">UDialectHandling uldn_getDialectHandling(const ULocaleDisplayNames*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uldnames.h</td><td class="proto">ULocaleDisplayNames* uldn_open(const char*, UDialectHandling, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uldnames.h</td><td class="proto">const char* uldn_getLocale(const ULocaleDisplayNames*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uldnames.h</td><td class="proto"><tt>enum</tt> UDialectHandling {}</td><td class="" colspan="2" align="center">Draft»Stable<br>
+</td>
+</tr>
+<tr class="row1">
+<td class="file">uldnames.h</td><td class="proto"><tt>enum</tt> UDialectHandling::ULDN_DIALECT_NAMES</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uldnames.h</td><td class="proto"><tt>enum</tt> UDialectHandling::ULDN_STANDARD_NAMES</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_keyDisplayName(const ULocaleDisplayNames*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_keyValueDisplayName(const ULocaleDisplayNames*, const char*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_languageDisplayName(const ULocaleDisplayNames*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_localeDisplayName(const ULocaleDisplayNames*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_regionDisplayName(const ULocaleDisplayNames*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_scriptCodeDisplayName(const ULocaleDisplayNames*, UScriptCode, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_scriptDisplayName(const ULocaleDisplayNames*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uldnames.h</td><td class="proto">int32_t uldn_variantDisplayName(const ULocaleDisplayNames*, const char*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">uldnames.h</td><td class="proto">void uldn_close(ULocaleDisplayNames*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">uloc.h</td><td class="proto">const char* const uloc_getISOCountries()</td><td class="">None<br>
+</td><td>Stable<br>
<span class=""><span>2.0</span></span></td>
</tr>
<tr class="row1">
-<td class="file">unistr.h</td><td class="proto">int32_t UnicodeString::extract(int32_t , int32_t , char *, uint32_t , const char *) const</td><td class="">None<br>
+<td class="file">uloc.h</td><td class="proto">const char* const uloc_getISOLanguages()</td><td class="">None<br>
</td><td>Stable<br>
<span class=""><span>2.0</span></span></td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">int32_t uregex_getStackLimit(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uniset.h</td><td class="proto">int32_t UnicodeSet::span(const UnicodeString&, int32_t, USetSpanCondition) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">UBool uregex_hitEnd(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">uniset.h</td><td class="proto">int32_t UnicodeSet::spanBack(const UnicodeString&, int32_t, USetSpanCondition) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">void uregex_setStackLimit(URegularExpression *, int32_t , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unistr.h</td><td class="proto">UnicodeString UnicodeString::tempSubString(int32_t start=, int32_t length=) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">UBool uregex_hasAnchoringBounds(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unistr.h</td><td class="proto">UnicodeString UnicodeString::tempSubStringBetween(int32_t, int32_t limit=) const</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">int32_t uregex_regionStart(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unistr.h</td><td class="proto">UnicodeString& UnicodeString::retainBetween(int32_t, int32_t limit=)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">void uregex_getMatchCallback(const URegularExpression *, URegexMatchCallback **, const void **, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unorm2.h</td><td class="proto">UBool unorm2_hasBoundaryAfter(const UNormalizer2*, UChar32)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">void uregex_useTransparentBounds(URegularExpression *, UBool , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unorm2.h</td><td class="proto">UBool unorm2_hasBoundaryBefore(const UNormalizer2*, UChar32)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">void uregex_setRegion(URegularExpression *, int32_t , int32_t , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unorm2.h</td><td class="proto">UBool unorm2_isInert(const UNormalizer2*, UChar32)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">void uregex_setTimeLimit(URegularExpression *, int32_t , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unorm2.h</td><td class="proto">UBool unorm2_isNormalized(const UNormalizer2*, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">void uregex_useAnchoringBounds(URegularExpression *, UBool , UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unorm2.h</td><td class="proto">UNormalizationCheckResult unorm2_quickCheck(const UNormalizer2*, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">UBool uregex_requireEnd(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unorm2.h</td><td class="proto">UNormalizer2* unorm2_openFiltered(const UNormalizer2*, const USet*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">int32_t uregex_getTimeLimit(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unorm2.h</td><td class="proto">const UNormalizer2* unorm2_getInstance(const char*, const char*, UNormalization2Mode, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">UBool uregex_hasTransparentBounds(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unorm2.h</td><td class="proto"><tt>enum</tt> UNormalization2Mode {}</td><td class="" colspan="2" align="center">Draft»Stable<br>
+</td>
</tr>
<tr class="row1">
-<td class="file">uregex.h</td><td class="proto">void uregex_setMatchCallback(URegularExpression *, URegexMatchCallback *, const void *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unorm2.h</td><td class="proto"><tt>enum</tt> UNormalization2Mode::UNORM2_COMPOSE_CONTIGUOUS</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">uregex.h</td><td class="proto">int32_t uregex_regionEnd(const URegularExpression *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>4.0</td>
+<td class="file">unorm2.h</td><td class="proto"><tt>enum</tt> UNormalization2Mode::UNORM2_COMPOSE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_sprintf_u(UChar *, const UChar *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">unorm2.h</td><td class="proto"><tt>enum</tt> UNormalization2Mode::UNORM2_DECOMPOSE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">UChar* u_fgets(UChar *, int32_t , UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">unorm2.h</td><td class="proto"><tt>enum</tt> UNormalization2Mode::UNORM2_FCD</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_snprintf(UChar *, int32_t , const char *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">unorm2.h</td><td class="proto">int32_t unorm2_append(const UNormalizer2*, UChar*, int32_t, int32_t, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_snprintf_u(UChar *, int32_t , const UChar *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">unorm2.h</td><td class="proto">int32_t unorm2_normalize(const UNormalizer2*, const UChar*, int32_t, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vfscanf(UFILE *, const char *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">unorm2.h</td><td class="proto">int32_t unorm2_normalizeSecondAndAppend(const UNormalizer2*, UChar*, int32_t, int32_t, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_sprintf(UChar *, const char *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">unorm2.h</td><td class="proto">int32_t unorm2_spanQuickCheckYes(const UNormalizer2*, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">UChar32 u_fputc(UChar32 , UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">unorm2.h</td><td class="proto">void unorm2_close(UNormalizer2*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vsprintf_u(UChar *, const UChar *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatStyle::UNUM_NUMBERING_SYSTEM</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">void u_fclose(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">unum.h</td><td class="proto">int32_t unum_formatDecimal(const UNumberFormat*, const char*, int32_t, UChar*, int32_t, UFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vsprintf(UChar *, const char *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">unum.h</td><td class="proto">int32_t unum_parseDecimal(const UNumberFormat*, const UChar*, int32_t, int32_t*, char*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">void u_fflush(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_BASSA_VAH</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vfprintf_u(UFILE *, const UChar *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_DUPLOYAN_SHORTAND</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vsnprintf_u(UChar *, int32_t , const UChar *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_ELBASAN</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">const char* u_fgetlocale(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_GRANTHA</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_file_write(const UChar *, int32_t , UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_KPELLE</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_file_read(UChar *, int32_t , UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_LOMA</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">FILE* u_fgetfile(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_MANDAIC</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vfscanf_u(UFILE *, const UChar *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_MENDE</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">UConverter* u_fgetConverter(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_MEROITIC_CURSIVE</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">UFILE* u_fstropen(UChar *, int32_t , const char *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_MEROITIC_HIEROGLYPHS</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">UChar32 u_fgetcx(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_NABATAEAN</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fprintf(UFILE *, const char *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_OLD_NORTH_ARABIAN</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fscanf_u(UFILE *, const UChar *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_PALMYRENE</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">UChar u_fgetc(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_SINDHI</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vsscanf_u(const UChar *, const UChar *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_WARANG_CITI</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_sscanf(const UChar *, const char *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">usearch.h</td><td class="proto"><tt>enum</tt> USearchAttribute::USEARCH_ELEMENT_COMPARISON</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">const char* u_fgetcodepage(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">usearch.h</td><td class="proto"><tt>enum</tt> USearchAttributeValue::USEARCH_ANY_BASE_WEIGHT_IS_WILDCARD</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">void u_frewind(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">usearch.h</td><td class="proto"><tt>enum</tt> USearchAttributeValue::USEARCH_PATTERN_BASE_WEIGHT_IS_WILDCARD</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_sscanf_u(const UChar *, const UChar *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">usearch.h</td><td class="proto"><tt>enum</tt> USearchAttributeValue::USEARCH_STANDARD_ELEMENT_COMPARISON</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">UFILE* u_finit(FILE *, const char *, const char *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_LAMALEF_AUTO</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fprintf_u(UFILE *, const UChar *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_LAMALEF_BEGIN</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">UTransliterator* u_fsettransliterator(UFILE *, UFileDirection , UTransliterator *, UErrorCode *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_LAMALEF_END</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fscanf(UFILE *, const char *,...)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_LAMALEF_MASK</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vsscanf(const UChar *, const char *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_LAMALEF_NEAR</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vfprintf(UFILE *, const char *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_LAMALEF_RESIZE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">UFILE* u_fopen(const char *, const char *, const char *, const char *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_SEEN_MASK</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">UChar32 u_fungetc(UChar32 , UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_SEEN_TWOCELL_NEAR</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fputs(const UChar *, UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_SPACES_RELATIVE_TO_TEXT_BEGIN_END</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">UBool u_feof(UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_SPACES_RELATIVE_TO_TEXT_MASK</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fsetlocale(UFILE *, const char *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_TASHKEEL_BEGIN</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_vsnprintf(UChar *, int32_t , const char *, va_list )</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_TASHKEEL_END</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">ustdio.h</td><td class="proto">int32_t u_fsetcodepage(const char *, UFILE *)</td><td class="" colspan="
- 2
- " align="
- center
- ">Draft>Stable<br>3.0</td>
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_TASHKEEL_MASK</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_TASHKEEL_RESIZE</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_TEXT_DIRECTION_VISUAL_RTL</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_YEHHAMZA_MASK</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> U_SHAPE_YEHHAMZA_TWOCELL_NEAR</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ustdio.h</td><td class="proto">UFILE* u_fadopt(FILE*, const char*, const char*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">ustring.h</td><td class="proto">UChar* u_strFromJavaModifiedUTF8WithSub(UChar*, int32_t, int32_t*, const char*, int32_t, UChar32, int32_t*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row0">
+<td class="file">ustring.h</td><td class="proto">char* u_strToJavaModifiedUTF8(char*, int32_t, int32_t*, const UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft»Stable<br>4.4</td>
+</tr>
+<tr class="row1">
+<td class="file">utf.h</td><td class="proto"><tt>#define</tt> U_IS_SURROGATE_TRAIL</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">utf16.h</td><td class="proto"><tt>#define</tt> U16_IS_SURROGATE_TRAIL</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">utypes.h</td><td class="proto"><tt>#define</tt> U_CHARSET_IS_UTF8</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">uvernum.h</td><td class="proto"><tt>#define</tt> U_ICU_ENTRY_POINT_RENAME</td><td class="" colspan="2" align="center">Draft»Stable<br>4.2</td>
+</tr>
</table>
<P></P>
<a href="#_top">(jump back to top)</a>
<hr>
-<a name="added">
-<h2>Added in 4.2</h2>
-</a>
+<a name="added"></a>
+<h2>Added in 4.6</h2>
<table BORDER="1" class="genTable">
<THEAD>
<tr>
-<th>File</th><th>API</th><th>4.0.1</th><th>4.2</th>
+<th>File</th><th>API</th><th>4.4.2</th><th>4.6</th>
</tr>
</THEAD>
<tr class="row1">
-<td class="file">bytestream.h</td><td class="proto">ByteSink::~ByteSink()</td><td class="">None<br>
+<td class="file">bytestream.h</td><td class="proto">CheckedArrayByteSink& CheckedArrayByteSink::Reset()</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">bytestream.h</td><td class="proto">UBool CheckedArrayByteSink::Overflowed() const</td><td class="">None<br>
+<td class="file">bytestream.h</td><td class="proto">int32_t CheckedArrayByteSink::NumberOfBytesAppended() const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">bytestream.h</td><td class="proto">void ByteSink::Flush()</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">coll.h</td><td class="proto">int32_t Collator::getReorderCodes(int32_t*, int32_t, UErrorCode&) const</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row0">
-<td class="file">bytestream.h</td><td class="proto">char* ByteSink::GetAppendBuffer(int32_t , int32_t , char *, int32_t , int32_t *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">coll.h</td><td class="proto">void Collator::setReorderCodes(const int32_t*, int32_t, UErrorCode&)</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row1">
-<td class="file">bytestream.h</td><td class="proto">CheckedArrayByteSink::CheckedArrayByteSink(char *, int32_t )</td><td class="">None<br>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ENumberFormatSymbol::kEightDigitSymbol</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">bytestream.h</td><td class="proto">char* CheckedArrayByteSink::GetAppendBuffer(int32_t , int32_t , char *, int32_t , int32_t *)</td><td class="">None<br>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ENumberFormatSymbol::kFiveDigitSymbol</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">bytestream.h</td><td class="proto">ByteSink::ByteSink()</td><td class="">None<br>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ENumberFormatSymbol::kFourDigitSymbol</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">bytestream.h</td><td class="proto">void ByteSink::Append(const char *, int32_t )=0</td><td class="">None<br>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ENumberFormatSymbol::kNineDigitSymbol</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">bytestream.h</td><td class="proto">void CheckedArrayByteSink::Append(const char *, int32_t )</td><td class="">None<br>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ENumberFormatSymbol::kOneDigitSymbol</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">bytestream.h</td><td class="proto">int32_t CheckedArrayByteSink::NumberOfBytesWritten() const</td><td class="">None<br>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ENumberFormatSymbol::kSevenDigitSymbol</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">calendar.h</td><td class="proto">static StringEnumeration* Calendar::getKeywordValuesForLocale(const char *, const Locale &, UBool , UErrorCode &)</td><td class="">None<br>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ENumberFormatSymbol::kSixDigitSymbol</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">coll.h</td><td class="proto">UCollationResult Collator::compareUTF8(const StringPiece &, const StringPiece &, UErrorCode &) const</td><td class="">None<br>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ENumberFormatSymbol::kThreeDigitSymbol</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">coll.h</td><td class="proto">UCollationResult Collator::compare(UCharIterator &, UCharIterator &, UErrorCode &) const</td><td class="">None<br>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ENumberFormatSymbol::kTwoDigitSymbol</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">coll.h</td><td class="proto">static StringEnumeration* Collator::getKeywordValuesForLocale(const char *, const Locale &, UBool , UErrorCode &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">dcfmtsym.h</td><td class="proto">void DecimalFormatSymbols::setSymbol(ENumberFormatSymbol, const UnicodeString&, const UBool)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.0</span></span></td>
</tr>
<tr class="row1">
-<td class="file">currpinf.h</td><td class="proto">CurrencyPluralInfo::CurrencyPluralInfo(const Locale &, UErrorCode &)</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto">IDNAInfo::IDNAInfo()</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">currpinf.h</td><td class="proto">UnicodeString& CurrencyPluralInfo::getCurrencyPluralPattern(const UnicodeString &, UnicodeString &) const</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto">UBool IDNAInfo::hasErrors() const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">currpinf.h</td><td class="proto">const PluralRules* CurrencyPluralInfo::getPluralRules() const</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto">UBool IDNAInfo::isTransitionalDifferent() const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">currpinf.h</td><td class="proto">CurrencyPluralInfo::CurrencyPluralInfo(const CurrencyPluralInfo &)</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto">UnicodeString& IDNA::labelToASCII(const UnicodeString&, UnicodeString&, IDNAInfo&, UErrorCode&) const =0</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">currpinf.h</td><td class="proto">CurrencyPluralInfo& CurrencyPluralInfo::operator=(const CurrencyPluralInfo &)</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto">UnicodeString& IDNA::labelToUnicode(const UnicodeString&, UnicodeString&, IDNAInfo&, UErrorCode&) const =0</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">currpinf.h</td><td class="proto">void CurrencyPluralInfo::setLocale(const Locale &, UErrorCode &)</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto">UnicodeString& IDNA::nameToASCII(const UnicodeString&, UnicodeString&, IDNAInfo&, UErrorCode&) const =0</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">currpinf.h</td><td class="proto">static UClassID CurrencyPluralInfo::getStaticClassID()</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto">UnicodeString& IDNA::nameToUnicode(const UnicodeString&, UnicodeString&, IDNAInfo&, UErrorCode&) const =0</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">currpinf.h</td><td class="proto">CurrencyPluralInfo::~CurrencyPluralInfo()</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto"><tt>static</tt> IDNA* IDNA::createUTS46Instance(uint32_t, UErrorCode&)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">currpinf.h</td><td class="proto">void CurrencyPluralInfo::setPluralRules(const UnicodeString &, UErrorCode &)</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto">uint32_t IDNAInfo::getErrors() const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">currpinf.h</td><td class="proto">void CurrencyPluralInfo::setCurrencyPluralPattern(const UnicodeString &, const UnicodeString &, UErrorCode &)</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto">void IDNA::labelToASCII_UTF8(const StringPiece&, ByteSink&, IDNAInfo&, UErrorCode&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">currpinf.h</td><td class="proto">UClassID CurrencyPluralInfo::getDynamicClassID() const</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto">void IDNA::labelToUnicodeUTF8(const StringPiece&, ByteSink&, IDNAInfo&, UErrorCode&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">currpinf.h</td><td class="proto">UBool CurrencyPluralInfo::operator==(const CurrencyPluralInfo &) const</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto">void IDNA::nameToASCII_UTF8(const StringPiece&, ByteSink&, IDNAInfo&, UErrorCode&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">currpinf.h</td><td class="proto">UBool CurrencyPluralInfo::operator!=(const CurrencyPluralInfo &) const</td><td class="">None<br>
+<td class="file">idna.h</td><td class="proto">void IDNA::nameToUnicodeUTF8(const StringPiece&, ByteSink&, IDNAInfo&, UErrorCode&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">currpinf.h</td><td class="proto">CurrencyPluralInfo::CurrencyPluralInfo(UErrorCode &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::bassScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row1">
-<td class="file">currpinf.h</td><td class="proto">const Locale& CurrencyPluralInfo::getLocale() const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::duplScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">currpinf.h</td><td class="proto">CurrencyPluralInfo* CurrencyPluralInfo::clone() const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::elbaScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">dcfmtsym.h</td><td class="proto">void DecimalFormatSymbols::setPatternForCurrencySpacing(ECurrencySpacing , UBool , const UnicodeString &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::granScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">dcfmtsym.h</td><td class="proto">const UnicodeString& DecimalFormatSymbols::getPatternForCurrencySpacing(ECurrencySpacing , UBool , UErrorCode &) const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::kpelScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto">UBool decimfmtAffixValueComparator(UHashTok , UHashTok )</td><td class="">None<br>
-</td><td>Internal<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::lomaScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto">void DecimalFormat::adoptCurrencyPluralInfo(CurrencyPluralInfo *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::mendScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto">void DecimalFormat::setCurrencyPluralInfo(const CurrencyPluralInfo &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::mercScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto">DecimalFormat::DecimalFormat(const UnicodeString &, DecimalFormatSymbols *, NumberFormat::EStyles , UErrorCode &)</td><td class="">None<br>
-</td><td>Internal<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::narbScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto">UBool decimfmtAffixPatternValueComparator(UHashTok , UHashTok )</td><td class="">None<br>
-</td><td>Internal<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::nbatScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto">const CurrencyPluralInfo* DecimalFormat::getCurrencyPluralInfo(void) const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::palmScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">dtfmtsym.h</td><td class="proto">const UnicodeString* DateFormatSymbols::getNarrowEras(int32_t &) const</td><td class="">None<br>
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::sindScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">LEScripts.h</td><td class="proto"><tt>enum</tt> ScriptCodes::waraScriptCode</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">LESwaps.h</td><td class="proto"><tt>static</tt> le_uint16 LESwaps::swapWord(le_uint16)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.8</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">LESwaps.h</td><td class="proto"><tt>static</tt> le_uint32 LESwaps::swapLong(le_uint32)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.8</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">locid.h</td><td class="proto"><tt>static</tt> const char* const Locale::getISOCountries()</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.0</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">locid.h</td><td class="proto"><tt>static</tt> const char* const Locale::getISOLanguages()</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.0</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">normalizer2.h</td><td class="proto">UBool FilteredNormalizer2::getDecomposition(UChar32, UnicodeString&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">dtfmtsym.h</td><td class="proto">void DateFormatSymbols::setNarrowEras(const UnicodeString *, int32_t )</td><td class="">None<br>
+<td class="file">normalizer2.h</td><td class="proto">UBool Normalizer2::getDecomposition(UChar32, UnicodeString&) const =0</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">dtitvinf.h</td><td class="proto">UBool dtitvinfHashTableValueComparator(UHashTok , UHashTok )</td><td class="">None<br>
+<td class="file">numsys.h</td><td class="proto"><tt>#define</tt> NUMSYS_NAME_CAPACITY</td><td class="">None<br>
</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">numsys.h</td><td class="proto">const char* NumberingSystem::getName()</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.6</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::region(int64_t, int64_t, UErrorCode&)</td><td class="">None<br>
+</td><td>Stable<br>
<span class=""><span>4.0</span></span></td>
</tr>
<tr class="row0">
-<td class="file">errorcode.h</td><td class="proto">void ErrorCode::check() const</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::region(int64_t, int64_t, int64_t, UErrorCode&)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">errorcode.h</td><td class="proto">ErrorCode::operator UErrorCode &()</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">RegexMatcher& RegexMatcher::reset(int64_t, UErrorCode&)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.8</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::find(int64_t, UErrorCode&)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.4</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::lookingAt(int64_t, UErrorCode&)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.8</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">regex.h</td><td class="proto">UBool RegexMatcher::matches(int64_t, UErrorCode&)</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.8</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">regex.h</td><td class="proto">UText* RegexMatcher::appendTail(UText*, UErrorCode&)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">errorcode.h</td><td class="proto">ErrorCode::operator UErrorCode *()</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">UText* RegexMatcher::getInput(UText*, UErrorCode&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">errorcode.h</td><td class="proto">ErrorCode::ErrorCode()</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">UText* RegexMatcher::group(UText*, int64_t&, UErrorCode&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">errorcode.h</td><td class="proto">UBool ErrorCode::isFailure() const</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">UText* RegexMatcher::group(int32_t, UText*, int64_t&, UErrorCode&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">errorcode.h</td><td class="proto">UBool ErrorCode::isSuccess() const</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">UText* RegexPattern::patternText(UErrorCode&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">errorcode.h</td><td class="proto">void ErrorCode::set(UErrorCode )</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">int64_t RegexMatcher::end64(UErrorCode&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">errorcode.h</td><td class="proto">UErrorCode ErrorCode::reset()</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">int64_t RegexMatcher::end64(int32_t, UErrorCode&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">errorcode.h</td><td class="proto">ErrorCode::~ErrorCode()</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">int64_t RegexMatcher::regionEnd64() const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">errorcode.h</td><td class="proto">UErrorCode ErrorCode::get() const</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">int64_t RegexMatcher::regionStart64() const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">LEGlyphStorage.h</td><td class="proto">LEGlyphID* LEGlyphStorage::insertGlyphs(le_int32 , le_int32 , LEErrorCode &)</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">int64_t RegexMatcher::start64(UErrorCode&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">LEGlyphStorage.h</td><td class="proto">void LEGlyphStorage::moveGlyph(le_int32 , le_int32 , le_uint32 )</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">int64_t RegexMatcher::start64(int32_t, UErrorCode&) const</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">msgfmt.h</td><td class="proto">int32_t MessageFormat::getArgTypeCount() const</td><td class="">None<br>
+<td class="file">regex.h</td><td class="proto">void RegexMatcher::getFindProgressCallback(URegexFindProgressCallback*&, const void*&, UErrorCode&)</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.6</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">regex.h</td><td class="proto">void RegexMatcher::setFindProgressCallback(URegexFindProgressCallback*, const void*, UErrorCode&)</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.6</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">tblcoll.h</td><td class="proto">int32_t RuleBasedCollator::getReorderCodes(int32_t*, int32_t, UErrorCode&) const</td><td class="">None<br>
</td><td>Internal<br>
<span class=""><span>.</span></span></td>
</tr>
<tr class="row1">
-<td class="file">numfmt.h</td><td class="proto">static NumberFormat* NumberFormat::createInstance(const Locale &, EStyles , UErrorCode &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">tblcoll.h</td><td class="proto">void RuleBasedCollator::setReorderCodes(const int32_t*, int32_t, UErrorCode&)</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row0">
-<td class="file">numsys.h</td><td class="proto">static NumberingSystem* NumberingSystem::createInstanceByName(const char *, UErrorCode &)</td><td class="">None<br>
+<td class="file">ubidi.h</td><td class="proto">UBiDiDirection ubidi_getBaseDirection(const UChar*, int32_t)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">numsys.h</td><td class="proto">UClassID NumberingSystem::getDynamicClassID() const</td><td class="">None<br>
+<td class="file">ubidi.h</td><td class="proto"><tt>enum</tt> UBiDiDirection::UBIDI_NEUTRAL</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">numsys.h</td><td class="proto">UnicodeString NumberingSystem::getDescription()</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_ALCHEMICAL_SYMBOLS</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row1">
-<td class="file">numsys.h</td><td class="proto">NumberingSystem::NumberingSystem()</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_BAMUM_SUPPLEMENT</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row0">
-<td class="file">numsys.h</td><td class="proto">NumberingSystem::NumberingSystem(const NumberingSystem &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_BATAK</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row1">
-<td class="file">numsys.h</td><td class="proto">NumberingSystem::~NumberingSystem()</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_BRAHMI</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row0">
-<td class="file">numsys.h</td><td class="proto">static NumberingSystem* NumberingSystem::createInstance(UErrorCode &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row1">
-<td class="file">numsys.h</td><td class="proto">static UClassID NumberingSystem::getStaticClassID(void)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_EMOTICONS</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row0">
-<td class="file">numsys.h</td><td class="proto">static StringEnumeration* NumberingSystem::getAvailableNames(UErrorCode &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_ETHIOPIC_EXTENDED_A</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row1">
-<td class="file">numsys.h</td><td class="proto">int32_t NumberingSystem::getRadix()</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_KANA_SUPPLEMENT</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row0">
-<td class="file">numsys.h</td><td class="proto">static NumberingSystem* NumberingSystem::createInstance(const Locale &, UErrorCode &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_MANDAIC</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row1">
-<td class="file">numsys.h</td><td class="proto">UBool NumberingSystem::isAlgorithmic() const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row0">
-<td class="file">numsys.h</td><td class="proto">static NumberingSystem* NumberingSystem::createInstance(int32_t , UBool , const UnicodeString &, UErrorCode &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_PLAYING_CARDS</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row1">
-<td class="file">smpdtfmt.h</td><td class="proto">SimpleDateFormat::SimpleDateFormat(const UnicodeString &, const UnicodeString &, const Locale &, UErrorCode &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_TRANSPORT_AND_MAP_SYMBOLS</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row0">
-<td class="file">smpdtfmt.h</td><td class="proto">SimpleDateFormat::SimpleDateFormat(const UnicodeString &, const UnicodeString &, UErrorCode &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UJoiningGroup::U_JG_TEH_MARBUTA_GOAL</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row1">
-<td class="file">stringpiece.h</td><td class="proto">int32_t StringPiece::size() const</td><td class="">None<br>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_OTHER_PROPERTY_LIMIT</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">stringpiece.h</td><td class="proto">StringPiece::StringPiece()</td><td class="">None<br>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_OTHER_PROPERTY_START</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">stringpiece.h</td><td class="proto">void StringPiece::remove_prefix(int32_t )</td><td class="">None<br>
+<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UProperty::UCHAR_SCRIPT_EXTENSIONS</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">stringpiece.h</td><td class="proto">StringPiece StringPiece::substr(int32_t , int32_t len=) const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">ucol.h</td><td class="proto"><tt>enum</tt> UColReorderCode {}</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span></span>
+<br>
+<b class="bigwarn" title="A new API was introduced that was not tagged.">(untagged)</b></span></td>
</tr>
<tr class="row1">
-<td class="file">stringpiece.h</td><td class="proto">int32_t StringPiece::length() const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">ucol.h</td><td class="proto"><tt>enum</tt> UColReorderCode::UCOL_REORDER_CODE_CURRENCY</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row0">
-<td class="file">stringpiece.h</td><td class="proto">StringPiece::StringPiece(const char *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">ucol.h</td><td class="proto"><tt>enum</tt> UColReorderCode::UCOL_REORDER_CODE_DIGIT</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row1">
-<td class="file">stringpiece.h</td><td class="proto">void StringPiece::clear()</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">ucol.h</td><td class="proto"><tt>enum</tt> UColReorderCode::UCOL_REORDER_CODE_FIRST</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row0">
-<td class="file">stringpiece.h</td><td class="proto">const char* StringPiece::data() const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">ucol.h</td><td class="proto"><tt>enum</tt> UColReorderCode::UCOL_REORDER_CODE_LIMIT</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row1">
-<td class="file">stringpiece.h</td><td class="proto">StringPiece::StringPiece(const char *, int32_t )</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">ucol.h</td><td class="proto"><tt>enum</tt> UColReorderCode::UCOL_REORDER_CODE_PUNCTUATION</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row0">
-<td class="file">stringpiece.h</td><td class="proto">UBool StringPiece::empty() const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">ucol.h</td><td class="proto"><tt>enum</tt> UColReorderCode::UCOL_REORDER_CODE_SPACE</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row1">
-<td class="file">stringpiece.h</td><td class="proto">StringPiece::StringPiece(const StringPiece &, int32_t )</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">ucol.h</td><td class="proto"><tt>enum</tt> UColReorderCode::UCOL_REORDER_CODE_SYMBOL</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row0">
-<td class="file">stringpiece.h</td><td class="proto">StringPiece::StringPiece(const StringPiece &, int32_t , int32_t )</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">ucol.h</td><td class="proto">int32_t ucol_getReorderCodes(const UCollator*, int32_t*, int32_t, UErrorCode*)</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row1">
-<td class="file">stringpiece.h</td><td class="proto">void StringPiece::remove_suffix(int32_t )</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">ucol.h</td><td class="proto">void ucol_setReorderCodes(UCollator*, const int32_t*, int32_t, UErrorCode*)</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tblcoll.h</td><td class="proto">UCollationResult RuleBasedCollator::compare(UCharIterator &, UCharIterator &, UErrorCode &) const</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>#define</tt> UIDNA_INFO_INITIALIZER</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmunit.h</td><td class="proto">UTimeUnitFields TimeUnit::getTimeUnitField() const</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto">UIDNA* uidna_openUTS46(uint32_t, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmunit.h</td><td class="proto">UClassID TimeUnit::getDynamicClassID() const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ALLOW_UNASSIGNED</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmunit.h</td><td class="proto">static TimeUnit* TimeUnit::createInstance(UTimeUnitFields , UErrorCode &)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_CHECK_BIDI</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmunit.h</td><td class="proto">TimeUnit::~TimeUnit()</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_CHECK_CONTEXTJ</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmunit.h</td><td class="proto">static UClassID TimeUnit::getStaticClassID()</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_DEFAULT</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmunit.h</td><td class="proto">TimeUnit::TimeUnit(const TimeUnit &)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_BIDI</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmunit.h</td><td class="proto">UObject* TimeUnit::clone() const</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_CONTEXTJ</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmunit.h</td><td class="proto">TimeUnit& TimeUnit::operator=(const TimeUnit &)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_DISALLOWED</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmunit.h</td><td class="proto">UBool TimeUnit::operator!=(const UObject &) const</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_DOMAIN_NAME_TOO_LONG</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmunit.h</td><td class="proto">UBool TimeUnit::operator==(const UObject &) const</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_EMPTY_LABEL</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutamt.h</td><td class="proto">TimeUnitAmount::TimeUnitAmount(double , TimeUnit::UTimeUnitFields , UErrorCode &)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_HYPHEN_3_4</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutamt.h</td><td class="proto">UClassID TimeUnitAmount::getDynamicClassID(void) const</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_INVALID_ACE_LABEL</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutamt.h</td><td class="proto">TimeUnitAmount::TimeUnitAmount(const TimeUnitAmount &)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_LABEL_HAS_DOT</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutamt.h</td><td class="proto">TimeUnitAmount::~TimeUnitAmount()</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_LABEL_TOO_LONG</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutamt.h</td><td class="proto">TimeUnitAmount::TimeUnitAmount(const Formattable &, TimeUnit::UTimeUnitFields , UErrorCode &)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_LEADING_COMBINING_MARK</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutamt.h</td><td class="proto">TimeUnitAmount& TimeUnitAmount::operator=(const TimeUnitAmount &)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_LEADING_HYPHEN</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutamt.h</td><td class="proto">const TimeUnit& TimeUnitAmount::getTimeUnit() const</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_PUNYCODE</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutamt.h</td><td class="proto">UBool TimeUnitAmount::operator==(const UObject &) const</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_ERROR_TRAILING_HYPHEN</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutamt.h</td><td class="proto">UBool TimeUnitAmount::operator!=(const UObject &) const</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_NONTRANSITIONAL_TO_ASCII</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutamt.h</td><td class="proto">TimeUnit::UTimeUnitFields TimeUnitAmount::getTimeUnitField() const</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_NONTRANSITIONAL_TO_UNICODE</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutamt.h</td><td class="proto">UObject* TimeUnitAmount::clone() const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uidna.h</td><td class="proto"><tt>enum</tt> (anonymous)::UIDNA_USE_STD3_RULES</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutamt.h</td><td class="proto">static UClassID TimeUnitAmount::getStaticClassID(void)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto">int32_t uidna_labelToASCII(const UIDNA*, const UChar*, int32_t, UChar*, int32_t, UIDNAInfo*, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutfmt.h</td><td class="proto">TimeUnitFormat::~TimeUnitFormat()</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto">int32_t uidna_labelToASCII_UTF8(const UIDNA*, const char*, int32_t, char*, int32_t, UIDNAInfo*, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutfmt.h</td><td class="proto">TimeUnitFormat& TimeUnitFormat::operator=(const TimeUnitFormat &)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto">int32_t uidna_labelToUnicode(const UIDNA*, const UChar*, int32_t, UChar*, int32_t, UIDNAInfo*, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutfmt.h</td><td class="proto">void TimeUnitFormat::setLocale(const Locale &, UErrorCode &)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto">int32_t uidna_labelToUnicodeUTF8(const UIDNA*, const char*, int32_t, char*, int32_t, UIDNAInfo*, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutfmt.h</td><td class="proto">TimeUnitFormat::TimeUnitFormat(const Locale &, EStyle , UErrorCode &)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto">int32_t uidna_nameToASCII(const UIDNA*, const UChar*, int32_t, UChar*, int32_t, UIDNAInfo*, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutfmt.h</td><td class="proto">TimeUnitFormat::TimeUnitFormat(const Locale &, UErrorCode &)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto">int32_t uidna_nameToASCII_UTF8(const UIDNA*, const char*, int32_t, char*, int32_t, UIDNAInfo*, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutfmt.h</td><td class="proto">UClassID TimeUnitFormat::getDynamicClassID(void) const</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto">int32_t uidna_nameToUnicode(const UIDNA*, const UChar*, int32_t, UChar*, int32_t, UIDNAInfo*, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutfmt.h</td><td class="proto">TimeUnitFormat::TimeUnitFormat(UErrorCode &)</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto">int32_t uidna_nameToUnicodeUTF8(const UIDNA*, const char*, int32_t, char*, int32_t, UIDNAInfo*, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutfmt.h</td><td class="proto">Format* TimeUnitFormat::clone(void) const</td><td class="">None<br>
+<td class="file">uidna.h</td><td class="proto">void uidna_close(UIDNA*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutfmt.h</td><td class="proto">TimeUnitFormat::TimeUnitFormat(const TimeUnitFormat &)</td><td class="">None<br>
+<td class="file">uloc.h</td><td class="proto"><tt>#define</tt> ULOC_KEYWORD_ASSIGN_UNICODE</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutfmt.h</td><td class="proto">void TimeUnitFormat::parseObject(const UnicodeString &, Formattable &, ParsePosition &) const</td><td class="">None<br>
+<td class="file">uloc.h</td><td class="proto"><tt>#define</tt> ULOC_KEYWORD_ITEM_SEPARATOR_UNICODE</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutfmt.h</td><td class="proto">UnicodeString& TimeUnitFormat::format(const Formattable &, UnicodeString &, FieldPosition &, UErrorCode &) const</td><td class="">None<br>
+<td class="file">uloc.h</td><td class="proto"><tt>#define</tt> ULOC_KEYWORD_SEPARATOR_UNICODE</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutfmt.h</td><td class="proto">UBool TimeUnitFormat::operator!=(const Format &) const</td><td class="">None<br>
+<td class="file">uloc.h</td><td class="proto">const char* const uloc_getISOCountries()</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.0</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">uloc.h</td><td class="proto">const char* const uloc_getISOLanguages()</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.0</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">unorm2.h</td><td class="proto">int32_t unorm2_getDecomposition(const UNormalizer2*, UChar32, UChar*, int32_t, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutfmt.h</td><td class="proto">static UClassID TimeUnitFormat::getStaticClassID(void)</td><td class="">None<br>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatSymbol::UNUM_EIGHT_DIGIT_SYMBOL</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">tmutfmt.h</td><td class="proto">UBool TimeUnitFormat::operator==(const Format &) const</td><td class="">None<br>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatSymbol::UNUM_FIVE_DIGIT_SYMBOL</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">tmutfmt.h</td><td class="proto">void TimeUnitFormat::setNumberFormat(const NumberFormat &, UErrorCode &)</td><td class="">None<br>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatSymbol::UNUM_FOUR_DIGIT_SYMBOL</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ucal.h</td><td class="proto">const char* ucal_getType(const UCalendar *, UErrorCode *)</td><td class="">None<br>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatSymbol::UNUM_NINE_DIGIT_SYMBOL</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">ucal.h</td><td class="proto">UEnumeration* ucal_getKeywordValuesForLocale(const char *, const char *, UBool , UErrorCode *)</td><td class="">None<br>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatSymbol::UNUM_ONE_DIGIT_SYMBOL</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ucnvsel.h</td><td class="proto">UConverterSelector* ucnvsel_open(const char *const *, int32_t , const USet *, const UConverterUnicodeSet , UErrorCode *)</td><td class="">None<br>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatSymbol::UNUM_SEVEN_DIGIT_SYMBOL</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">ucnvsel.h</td><td class="proto">UEnumeration* ucnvsel_selectForString(const UConverterSelector *, const UChar *, int32_t , UErrorCode *)</td><td class="">None<br>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatSymbol::UNUM_SIX_DIGIT_SYMBOL</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ucnvsel.h</td><td class="proto">void ucnvsel_close(UConverterSelector *)</td><td class="">None<br>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatSymbol::UNUM_THREE_DIGIT_SYMBOL</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">ucnvsel.h</td><td class="proto">int32_t ucnvsel_serialize(const UConverterSelector *, void *, int32_t , UErrorCode *)</td><td class="">None<br>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatSymbol::UNUM_TWO_DIGIT_SYMBOL</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ucnvsel.h</td><td class="proto">UEnumeration* ucnvsel_selectForUTF8(const UConverterSelector *, const char *, int32_t , UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uobject.h</td><td class="proto"><tt>#define</tt> UOBJECT_DEFINE_NO_RTTI_IMPLEMENTATION</td><td class="">None<br>
+</td><td>Internal<br>
+<span class=""><span>.</span></span></td>
</tr>
<tr class="row1">
-<td class="file">ucnvsel.h</td><td class="proto">UConverterSelector* ucnvsel_openFromSerialized(const void *, int32_t , UErrorCode *)</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">UBool uregex_find64(URegularExpression*, int64_t, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ucol.h</td><td class="proto">UEnumeration* ucol_getKeywordValuesForLocale(const char *, const char *, UBool , UErrorCode *)</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">UBool uregex_lookingAt64(URegularExpression*, int64_t, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">ucurr.h</td><td class="proto">const UChar* ucurr_getPluralName(const UChar *, const char *, UBool *, const char *, int32_t *, UErrorCode *)</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">UBool uregex_matches64(URegularExpression*, int64_t, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ucurr.h</td><td class="proto">UEnumeration* ucurr_getKeywordValuesForLocale(const char *, const char *, UBool , UErrorCode *)</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">UText* uregex_appendTailUText(URegularExpression*, UText*, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">udat.h</td><td class="proto">void udat_applyPatternRelative(UDateFormat *, const UChar *, int32_t , const UChar *, int32_t , UErrorCode *)</td><td class="">None<br>
-</td><td>Internal<br>
-<span class=""><span>4.2 technology preview</span></span></td>
+<td class="file">uregex.h</td><td class="proto">UText* uregex_groupUText(URegularExpression*, int32_t, UText*, int64_t*, UErrorCode*)</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">udat.h</td><td class="proto">int32_t udat_toPatternRelativeDate(const UDateFormat *, UChar *, int32_t , UErrorCode *)</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">UText* uregex_groupUTextDeep(URegularExpression*, int32_t, UText*, UErrorCode*)</td><td class="">None<br>
</td><td>Internal<br>
-<span class=""><span>4.2 technology preview</span></span></td>
+<span class=""><span>4.4 technology preview</span></span></td>
</tr>
<tr class="row1">
-<td class="file">udat.h</td><td class="proto">int32_t udat_toPatternRelativeTime(const UDateFormat *, UChar *, int32_t , UErrorCode *)</td><td class="">None<br>
-</td><td>Internal<br>
-<span class=""><span>4.2 technology preview</span></span></td>
+<td class="file">uregex.h</td><td class="proto">int64_t uregex_end64(URegularExpression*, int32_t, UErrorCode*)</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">uloc.h</td><td class="proto">int32_t uloc_toLanguageTag(const char *, char *, int32_t , UBool , UErrorCode *)</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">int64_t uregex_regionEnd64(const URegularExpression*, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">uloc.h</td><td class="proto">int32_t uloc_forLanguageTag(const char *, char *, int32_t , int32_t *, UErrorCode *)</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">int64_t uregex_regionStart64(const URegularExpression*, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ulocdata.h</td><td class="proto">int32_t ulocdata_getLocaleSeparator(ULocaleData *, UChar *, int32_t , UErrorCode *)</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">int64_t uregex_start64(URegularExpression*, int32_t, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">ulocdata.h</td><td class="proto">int32_t ulocdata_getLocaleDisplayPattern(ULocaleData *, UChar *, int32_t , UErrorCode *)</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">void uregex_getFindProgressCallback(const URegularExpression*, URegexFindProgressCallback**, const void**, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">ulocdata.h</td><td class="proto">void ulocdata_getCLDRVersion(UVersionInfo , UErrorCode *)</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">void uregex_reset64(URegularExpression*, int64_t, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">uniset.h</td><td class="proto">const UnicodeSet * UnicodeSet::fromUSet(const USet *)</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">void uregex_setFindProgressCallback(URegularExpression*, URegexFindProgressCallback*, const void*, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">uniset.h</td><td class="proto">USet * UnicodeSet::toUSet()</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">void uregex_setRegion64(URegularExpression*, int64_t, int64_t, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">uniset.h</td><td class="proto">const USet * UnicodeSet::toUSet() const</td><td class="">None<br>
+<td class="file">uregex.h</td><td class="proto">void uregex_setRegionAndStart(URegularExpression*, int64_t, int64_t, int64_t, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row0">
-<td class="file">uniset.h</td><td class="proto">UnicodeSet * UnicodeSet::fromUSet(USet *)</td><td class="">None<br>
+<td class="file">uscript.h</td><td class="proto">UBool uscript_hasScript(UChar32, UScriptCode)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">unistr.h</td><td class="proto">UnicodeString::UnicodeString(const char *, int32_t , const char *)</td><td class="">None<br>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_BASSA_VAH</td><td class="">None<br>
</td><td>Stable<br>
-<span class=""><span>2.0</span></span></td>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">int32_t UnicodeString::toUTF32(UChar32 *, int32_t , UErrorCode &) const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_DUPLOYAN_SHORTAND</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">unistr.h</td><td class="proto">UnicodeString::UnicodeString(const char *, int32_t )</td><td class="">None<br>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_ELBASAN</td><td class="">None<br>
</td><td>Stable<br>
-<span class=""><span>2.0</span></span></td>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">static UnicodeString UnicodeString::fromUTF32(const UChar32 *, int32_t )</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_GRANTHA</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">unistr.h</td><td class="proto">UnicodeString::UnicodeString(const char *, const char *)</td><td class="">None<br>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_KPELLE</td><td class="">None<br>
</td><td>Stable<br>
-<span class=""><span>2.0</span></span></td>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">int32_t UnicodeString::extract(int32_t , int32_t , char *, uint32_t ) const</td><td class="">None<br>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_LOMA</td><td class="">None<br>
</td><td>Stable<br>
-<span class=""><span>2.0</span></span></td>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">unistr.h</td><td class="proto">UnicodeString::UnicodeString(const char *)</td><td class="">None<br>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_MANDAIC</td><td class="">None<br>
</td><td>Stable<br>
-<span class=""><span>2.0</span></span></td>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">int32_t UnicodeString::extract(int32_t , int32_t , char *, uint32_t , const char *) const</td><td class="">None<br>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_MENDE</td><td class="">None<br>
</td><td>Stable<br>
-<span class=""><span>2.0</span></span></td>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">unistr.h</td><td class="proto">void UnicodeString::toUTF8(ByteSink &) const</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_MEROITIC_CURSIVE</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">unistr.h</td><td class="proto">static UnicodeString UnicodeString::fromUTF8(const StringPiece &)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_MEROITIC_HIEROGLYPHS</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>4.6</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in $rightVer.">(Born Stable)</b></td>
</tr>
<tr class="row1">
-<td class="file">uset.h</td><td class="proto">USet* uset_openEmpty()</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_NABATAEAN</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">uset.h</td><td class="proto">void uset_closeOver(USet *, int32_t )</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_OLD_NORTH_ARABIAN</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">uset.h</td><td class="proto">void uset_removeAllStrings(USet *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_PALMYRENE</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_areConfusable(const USpoofChecker *, const UChar *, int32_t , const UChar *, int32_t , UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_SINDHI</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">USpoofChecker* uspoof_openFromSerialized(const void *, int32_t , int32_t *, UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_WARANG_CITI</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.2</span></span></td>
</tr>
<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">void uspoof_setChecks(USpoofChecker *, int32_t , UErrorCode *)</td><td class="">None<br>
+<td class="file">uscript.h</td><td class="proto">int32_t uscript_getScriptExtensions(UChar32, UScriptCode*, int32_t, UErrorCode*)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">USpoofChecker* uspoof_clone(const USpoofChecker *, UErrorCode *)</td><td class="">None<br>
+<td class="file">vtzone.h</td><td class="proto"><tt>static</tt> VTimeZone* VTimeZone::createVTimeZoneFromBasicTimeZone(const BasicTimeZone&, UErrorCode&)</td><td class="">None<br>
</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<span class=""><span>4.6</span></span></td>
</tr>
+</table>
+<P></P>
+<a href="#_top">(jump back to top)</a>
+<hr>
+<a name="other"></a>
+<h2>Other existing drafts in 4.6</h2>
+<div class="other">
+<table BORDER="1" class="genTable">
+<THEAD>
+<tr>
+<th>File</th><th>API</th><th>4.4.2</th><th>4.6</th>
+</tr>
+</THEAD>
+<tr class="row1">
+<td class="file">dcfmtsym.h</td><td class="proto">const UnicodeString& DecimalFormatSymbols::getPatternForCurrencySpacing(ECurrencySpacing, UBool, UErrorCode&) const</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
+</tr>
<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_check(const USpoofChecker *, const UChar *, int32_t , int32_t *, UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ECurrencySpacing {}</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">void uspoof_setAllowedLocales(USpoofChecker *, const char *, UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ECurrencySpacing::kCurrencyMatch</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_getSkeleton(const USpoofChecker *, uint32_t , const UChar *, int32_t , UChar *, int32_t , UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ECurrencySpacing::kCurrencySpacingCount</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">USpoofChecker* uspoof_openFromSource(const char *, int32_t , const char *, int32_t , int32_t *, UParseError *, UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ECurrencySpacing::kInsert</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">void uspoof_setAllowedChars(USpoofChecker *, const USet *, UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">dcfmtsym.h</td><td class="proto"><tt>enum</tt>
+ DecimalFormatSymbols::ECurrencySpacing::kSurroundingMatch</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_areConfusableUTF8(const USpoofChecker *, const char *, int32_t , const char *, int32_t , UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">dcfmtsym.h</td><td class="proto">void DecimalFormatSymbols::setPatternForCurrencySpacing(ECurrencySpacing, UBool, const UnicodeString&)</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">const USet* uspoof_getAllowedChars(const USpoofChecker *, UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>
+ NumberFormat::EStyles {}</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_serialize(USpoofChecker *, void *, int32_t , UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>
+ NumberFormat::EStyles::kCurrencyStyle</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">USpoofChecker* uspoof_open(UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>
+ NumberFormat::EStyles::kIsoCurrencyStyle</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">const char* uspoof_getAllowedLocales(USpoofChecker *, UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>
+ NumberFormat::EStyles::kNumberStyle</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">void uspoof_close(USpoofChecker *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>
+ NumberFormat::EStyles::kPercentStyle</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_getSkeletonUTF8(const USpoofChecker *, uint32_t , const char *, int32_t , char *, int32_t , UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>
+ NumberFormat::EStyles::kPluralCurrencyStyle</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_getChecks(const USpoofChecker *, UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>
+ NumberFormat::EStyles::kScientificStyle</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">uspoof.h</td><td class="proto">int32_t uspoof_checkUTF8(const USpoofChecker *, const char *, int32_t , int32_t *, UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>
+ NumberFormat::EStyles::kStyleCount</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">usprep.h</td><td class="proto">UStringPrepProfile* usprep_openByType(UStringPrepProfileType , UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">numfmt.h</td><td class="proto"><tt>static</tt> NumberFormat* NumberFormat::createInstance(const Locale&, EStyles, UErrorCode&)</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">ustring.h</td><td class="proto">UChar* u_strFromUTF32WithSub(UChar *, int32_t , int32_t *, const UChar32 *, int32_t , UChar32 , int32_t *, UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">tmutfmt.h</td><td class="proto">TimeUnitFormat::TimeUnitFormat(const Locale&, EStyle, UErrorCode&)</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">ustring.h</td><td class="proto">UChar32* u_strToUTF32WithSub(UChar32 *, int32_t , int32_t *, const UChar *, int32_t , UChar32 , int32_t *, UErrorCode *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">tmutfmt.h</td><td class="proto"><tt>enum</tt>
+ TimeUnitFormat::EStyle {}</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row1">
-<td class="file">uversion.h</td><td class="proto">int32_t u_compareVersions(UVersionInfo , UVersionInfo )</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">tmutfmt.h</td><td class="proto"><tt>enum</tt>
+ TimeUnitFormat::EStyle::kAbbreviate</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
<tr class="row0">
-<td class="file">uversion.h</td><td class="proto">void u_versionFromUString(UVersionInfo , const UChar *)</td><td class="">None<br>
-</td><td>Draft<br>
-<span class=""><span>4.2</span></span></td>
+<td class="file">tmutfmt.h</td><td class="proto"><tt>enum</tt>
+ TimeUnitFormat::EStyle::kFull</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
-</table>
-<P></P>
-<a href="#_top">(jump back to top)</a>
-<hr>
-<a name="other">
-<h2>Other existing drafts in 4.2</h2>
-</a>
-<div class="other">
-<table BORDER="1" class="genTable">
-<THEAD>
-<tr>
-<th>File</th><th>API</th><th>4.0.1</th><th>4.2</th>
+<tr class="row1">
+<td class="file">tmutfmt.h</td><td class="proto"><tt>enum</tt>
+ TimeUnitFormat::EStyle::kTotal</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
</tr>
-</THEAD>
+<tr class="row0">
+<td class="file">uloc.h</td><td class="proto">int32_t uloc_forLanguageTag(const char*, char*, int32_t, int32_t*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
+</tr>
+<tr class="row1">
+<td class="file">uloc.h</td><td class="proto">int32_t uloc_toLanguageTag(const char*, char*, int32_t, UBool, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">uregex.h</td><td class="proto"><tt>enum</tt> URegexpFlag::UREGEX_CANON_EQ</td><td class="" colspan="2" align="center">Draft<br>2.4</td>
+</tr>
+<tr class="row1">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> SHAPE_TAIL_NEW_UNICODE</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
+</tr>
+<tr class="row0">
+<td class="file">ushape.h</td><td class="proto"><tt>#define</tt> SHAPE_TAIL_TYPE_MASK</td><td class="" colspan="2" align="center">Draft<br>4.2</td>
+</tr>
</table>
</div>
<P></P>
<a href="#_top">(jump back to top)</a>
<hr>
<p>
-<i><font size="-1">Contents generated by StableAPI tool on Mon Apr 27 16:35:28 PDT 2009<br>Copyright (C) 2009, International Business Machines Corporation, All Rights Reserved.</font></i>
+<i><font size="-1">Contents generated by StableAPI (r28926:28990M) tool on Tue Nov 16 14:28:50 PST 2010<br>Copyright (C) 2010, International Business Machines Corporation, All Rights Reserved.</font></i>
</p>
</body>
</html>
Modified: trunk/as_is/os390/unpax-icu.sh
===================================================================
--- trunk/as_is/os390/unpax-icu.sh 2009-10-26 04:54:17 UTC (rev 223)
+++ trunk/as_is/os390/unpax-icu.sh 2010-12-04 15:05:42 UTC (rev 224)
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright (C) 2001-2007, International Business Machines
+# Copyright (C) 2001-2010, International Business Machines
# Corporation and others. All Rights Reserved.
#
# Authors:
@@ -15,7 +15,7 @@
#binary_suffixes='ico ICO bmp BMP jpg JPG gif GIF brk BRK'
#ICU specific binary files
-binary_suffixes='brk BRK bin BIN res RES cnv CNV dat DAT icu ICU spp SPP xml XML'
+binary_suffixes='brk BRK bin BIN res RES cnv CNV dat DAT icu ICU spp SPP xml XML nrm NRM'
usage()
{
Modified: trunk/as_is/os400/convertConfigure.sed
===================================================================
--- trunk/as_is/os400/convertConfigure.sed 2009-10-26 04:54:17 UTC (rev 223)
+++ trunk/as_is/os400/convertConfigure.sed 2010-12-04 15:05:42 UTC (rev 224)
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2006, International Business Machines Corporation
+# Copyright (C) 2006-2009, International Business Machines Corporation
# and others. All Rights Reserved.
#
# Use "test -x" instead of "test -f" most of the time.
@@ -9,12 +9,24 @@
s/test -f $ac_dir\/install.sh/test -x $ac_dir\/install.sh/g
s/test -f $ac_dir\/shtool/test -x $ac_dir\/shtool/g
# Use the more efficient del instead of rm command.
+s/rm[ ]*-r[ ]*-f/del -f/g
+s/rm[ ]*-f[ ]*-r/del -f/g
s/rm[ ]*-rf/del -f/g
s/rm[ ]*-fr/del -f/g
s/rm[ ]*-f/del -f/g
+##don't clean up some awks for debugging
+#s/[ ]*del -f [^ ]*.awk/#&/
# Borne shell isn't always available on i5/OS
s/\/bin\/sh/\/usr\/bin\/qsh/g
-# Use -c qpponly instead of -E to enable the preprocessor on the compiler
-s/\$CC -E/\$CC -c -qpponly/g
# no diff in qsh the equivalent is cmp
-s/ diff / cmp -s /g
\ No newline at end of file
+s/ diff / cmp -s /g
+## srl
+# trouble w/ redirects.
+s% >&$3%%g
+s%^ac_cr=%# AWK reads ASCII, not EBCDIC\
+touch -C 819 $tmp/defines.awk $tmp/subs.awk $tmp/subs1.awk conf$$subs.awk\
+\
+&%
+##OBSOLETE
+#(REPLACED BY CPP in runConfigureICU) Use -c qpponly instead of -E to enable the preprocessor on the compiler
+#s/\$CC -E/\$CC -c -qpponly/g
Modified: trunk/as_is/os400/unpax-icu.sh
===================================================================
--- trunk/as_is/os400/unpax-icu.sh 2009-10-26 04:54:17 UTC (rev 223)
+++ trunk/as_is/os400/unpax-icu.sh 2010-12-04 15:05:42 UTC (rev 224)
@@ -1,5 +1,5 @@
#!/usr/bin/qsh
-# Copyright (C) 2000-2007, International Business Machines
+# Copyright (C) 2000-2010, International Business Machines
# Corporation and others. All Rights Reserved.
#
# Authors:
@@ -12,14 +12,25 @@
# Shell script to unpax ICU and convert the files to an EBCDIC codepage.
# After extracting to EBCDIC, binary files are re-extracted without the
# EBCDIC conversion, thus restoring them to original codepage.
-#
+
+if [ -z "$QSH_VERSION" ];
+then
+ QSH=0
+ echo "QSH not detected (QSH_VERSION not set) - just testing."
+else
+ QSH=1
+ #echo "QSH version $QSH_VERSION"
+fi
+export QSH
+
# Set the following variable to the list of binary file suffixes (extensions)
+
#****************************************************************************
#binary_suffixes='ico ICO bmp BMP jpg JPG gif GIF brk BRK'
#ICU specific binary files
#****************************************************************************
-binary_suffixes='brk BRK bin BIN res RES cnv CNV dat DAT icu ICU spp SPP xml XML'
+binary_suffixes='brk BRK bin BIN res RES cnv CNV dat DAT icu ICU spp SPP xml XML nrm NRM'
data_files='icu/source/data/brkitr/* icu/source/data/locales/* icu/source/data/coll/* icu/source/data/rbnf/* icu/source/data/mappings/* icu/source/data/misc/* icu/source/data/translit/* icu/source/data/unidata/* icu/source/test/testdata/*'
#****************************************************************************
@@ -57,6 +68,7 @@
# Determine which directories in the data_files list
# are included in the provided archive
#****************************************************************************
+echo "Finding data_files ..."
for data_dir in $data_files
do
if (pax -f $tar_file $data_dir >/dev/null 2>&1)
@@ -89,9 +101,9 @@
# be processed to restore files as 819.
#****************************************************************************
echo ""
-echo "Determining binary files ..."
+echo "Determining binary files by BOM ..."
echo ""
-
+bin_count=0
# Process BOMs
for file in `find ./icu \( -name \*.txt -print \)`; do
bom8=`head -n 1 $file|\
@@ -107,13 +119,15 @@
if [ `echo $binary_files | wc -w` -lt 200 ]
then
+ bin_count=`expr $bin_count + 1`
binary_files="$binary_files $file";
else
- echo "Restoring binary files ..."
+ echo "Restoring binary files by BOM ($bin_count)..."
rm $binary_files;
pax -C 819 -rvf $tar_file $binary_files;
- echo "Determining binary files ..."
+ echo "Determining binary files by BOM ($bin_count)..."
binary_files="$file";
+ bin_count=`expr $bin_count + 1`
fi
fi
done
@@ -136,12 +150,14 @@
if [ `echo $binary_files | wc -w` -lt 200 ]
then
binary_files="$binary_files $i";
+ bin_count=`expr $bin_count + 1`
else
- echo "Restoring binary files ..."
+ echo "Restoring binary files by special paths ($bin_count) ..."
rm $binary_files;
pax -C 819 -rvf $tar_file $binary_files;
- echo "Determining binary files ..."
+ echo "Determining binary files by special paths ($bin_count) ..."
binary_files="$i";
+ bin_count=`expr $bin_count + 1`
fi
break
fi
@@ -156,7 +172,7 @@
# now see if a re-extract of binary files is necessary
if [ `echo $binary_files | wc -w` -gt 0 ]
then
- echo "Restoring binary files ..."
+ echo "Restoring binary files ($bin_count) ..."
rm $binary_files
pax -C 819 -rvf $tar_file $binary_files
fi
@@ -175,5 +191,5 @@
chmod 755 icu/source/configure
echo ""
-echo "$0 has completed extracting ICU from $tar_file."
+echo "$0 has completed extracting ICU from $tar_file - $bin_count binary files extracted."
Modified: trunk/icu4c.css
===================================================================
--- trunk/icu4c.css 2009-10-26 04:54:17 UTC (rev 223)
+++ trunk/icu4c.css 2010-12-04 15:05:42 UTC (rev 224)
@@ -1,13 +1,13 @@
/*
* Default CSS style sheet for the ICU4C Open Source readme
- * Copyright (C) 2005-2009, International Business Machines
+ * Copyright (C) 2005-2010, International Business Machines
* Corporation and others. All Rights Reserved.
*/
/* Global styles */
body,p,li,ol,ul,th,td {
- font-size: 10pt;
+ font-size: 1em;
font-family: "Arial", "Helvetica", sans-serif;
}
@@ -329,10 +329,19 @@
.bigwarn {
color: red;
background-color: white;
- font-size: x-large;
+ font-size: large;
margin: 0.5 em;
}
+
+td.bornstable {
+
+}
+td.bornstable .bigwarn {
+ font-size: small;
+ white-space: nowrap;
+}
+
table.genTable {
border-collapse: collapse;
border: 1px solid black;
@@ -444,4 +453,20 @@
padding: 1em;
display: block;
background-color: #EEEEEE
-}
\ No newline at end of file
+}
+
+td.proto {
+ font-size: smaller;
+}
+
+
+
+ at media print {
+ div#toc {
+ display: none;
+ }
+
+ table,tr,td,div {
+ page-break-inside: auto;
+ }
+}
Modified: trunk/license.html
===================================================================
--- trunk/license.html 2009-10-26 04:54:17 UTC (rev 223)
+++ trunk/license.html 2010-12-04 15:05:42 UTC (rev 224)
@@ -11,7 +11,7 @@
<p>COPYRIGHT AND PERMISSION NOTICE</p>
<p>
-Copyright (c) 1995-2009 International Business Machines Corporation and others
+Copyright (c) 1995-2010 International Business Machines Corporation and others
</p>
<p>
All rights reserved.
Modified: trunk/readme.html
===================================================================
--- trunk/readme.html 2009-10-26 04:54:17 UTC (rev 223)
+++ trunk/readme.html 2010-12-04 15:05:42 UTC (rev 224)
@@ -4,9 +4,9 @@
<html lang="en-US" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
- <title>ReadMe for ICU</title>
+ <title>ReadMe for ICU 4.6</title>
<meta name="COPYRIGHT" content=
- "Copyright (c) 1997-2009 IBM Corporation and others. All Rights Reserved." />
+ "Copyright (c) 1997-2010 IBM Corporation and others. All Rights Reserved." />
<meta name="KEYWORDS" content=
"ICU; International Components for Unicode; ICU4C; what's new; readme; read me; introduction; downloads; downloading; building; installation;" />
<meta name="DESCRIPTION" content=
@@ -15,12 +15,12 @@
<link type="text/css" href="./icu4c.css" rel="stylesheet"/>
</head>
- <body class="readme">
+ <body class="draft">
<h1>International Components for Unicode<br />
- <abbr title="International Components for Unicode">ICU</abbr> 4.2.1 ReadMe</h1>
+ <abbr title="International Components for Unicode">ICU</abbr> 4.6 ReadMe</h1>
- <p>Version: 2009 July 1st<br />
- Copyright © 1997-2009 International Business Machines Corporation and
+ <p>Last updated: 2010-Dec-01<br />
+ Copyright © 1997-2010 International Business Machines Corporation and
others. All Rights Reserved.</p>
<!-- Remember that there is a copyright at the end too -->
<hr />
@@ -42,7 +42,7 @@
<a href="#HowToBuild">How To Build And Install ICU</a>
<ul >
- <li><a href="#HowToBuildSupported">Supported Platforms</a></li>
+ <li><a href="#RecBuild">Recommended Build Options</a></li>
<li><a href="#HowToBuildWindows">Windows</a></li>
@@ -148,35 +148,41 @@
<td>ICU, ICU4C & ICU4J Homepage</td>
<td><a href=
- "http://www.icu-project.org/">http://www.icu-project.org/</a></td>
+ "http://icu-project.org/">http://icu-project.org/</a></td>
</tr>
<tr>
<td>FAQ - Frequently Asked Questions about ICU</td>
<td><a href=
- "http://www.icu-project.org/userguide/icufaq.html">http://www.icu-project.org/userguide/icufaq.html</a></td>
+ "http://userguide.icu-project.org/icufaq">http://userguide.icu-project.org/icufaq</a></td>
</tr>
<tr>
<td>ICU User's Guide</td>
<td><a href=
- "http://www.icu-project.org/userguide/">http://www.icu-project.org/userguide/</a></td>
+ "http://userguide.icu-project.org/">http://userguide.icu-project.org/</a></td>
</tr>
<tr>
+ <td>How To Use ICU</td>
+
+ <td><a href="http://userguide.icu-project.org/howtouseicu">http://userguide.icu-project.org/howtouseicu</a></td>
+ </tr>
+
+ <tr>
<td>Download ICU Releases</td>
<td><a href=
- "http://www.icu-project.org/download/">http://www.icu-project.org/download/</a></td>
+ "http://site.icu-project.org/download">http://site.icu-project.org/download</a></td>
</tr>
<tr>
<td>ICU4C API Documentation Online</td>
<td><a href=
- "http://www.icu-project.org/apiref/icu4c/">http://www.icu-project.org/apiref/icu4c/</a></td>
+ "http://icu-project.org/apiref/icu4c/">http://icu-project.org/apiref/icu4c/</a></td>
</tr>
<tr>
@@ -190,119 +196,43 @@
<td>Contacts and Bug Reports/Feature Requests</td>
<td><a href=
- "http://www.icu-project.org/contacts.html">http://www.icu-project.org/contacts.html</a></td>
+ "http://site.icu-project.org/contacts">http://site.icu-project.org/contacts</a></td>
</tr>
</table>
<p><strong>Important:</strong> Please make sure you understand the <a href=
"license.html">Copyright and License Information</a>.</p>
- <h2><a name="News" href="#News" id="News">What is new in this release?</a></h2>
-
+ <h2><a name="News" href="#News" id="News">What is new in this
+ release?</a></h2>
- <p>ICU for C/C++ version 4.2.1 is a maintenance release of 4.2, containing fixes and updates in both code and data. It does
- not introduce new API or functionality relative to 4.2. These changes will be rolled into the next release of ICU.
- The overall ticket used for the 4.2.1 release is <a href="http://bugs.icu-project.org/trac/ticket/7018">#7018</a>.
- Here is a list of the bug fixes included in 4.2.1, and the revisions used 4.2.1:
- </p>
- <ul>
- <li>
- <a href="http://bugs.icu-project.org/trac/ticket/6905">#6905</a>
- <a href="http://bugs.icu-project.org/trac/changeset/26084">r26084</a> —
- Make sure cintltst and intltest pass w/o data
- </li>
- <li>
- <a href="http://bugs.icu-project.org/trac/ticket/6919">#6919</a>
- <a href="http://bugs.icu-project.org/trac/changeset/26063">r26063</a> —
- icu-config generation errors
- </li>
- <li>
- <a href="http://bugs.icu-project.org/trac/ticket/6979">#6979</a>
- <a href="http://bugs.icu-project.org/trac/changeset/26138">r26138</a> —
- Integrate CLDR 1.7.1
- </li>
- <li>
- <a href="http://bugs.icu-project.org/trac/ticket/6980">#6980</a>
- <a href="http://bugs.icu-project.org/trac/changeset/26005">r26005</a> —
- SimpleDateFormat serious compilation warnings
- </li>
- <li>
- <a href="http://bugs.icu-project.org/trac/ticket/6908">#6908</a>
- <a href="http://bugs.icu-project.org/trac/changeset/25978">r25978</a> —
- Numbering Systems - Malayalam msising digit 5
- </li>
- <li>
- <a href="http://bugs.icu-project.org/trac/ticket/6990">#6990</a>
- <a href="http://bugs.icu-project.org/trac/changeset/26002">r26164</a> —
- Update time zone data to version 2009j
- </li>
- </ul>
- <p>
- The overall ticket used for the 4.2.0.1 release was <a href="http://bugs.icu-project.org/trac/ticket/6953">#6953</a>.
- Here is a list of the bug fixes included in 4.2.0.1, and the revisions used to patch 4.2.0.1:
- </p>
- <ul>
- <li>
- <a href="http://bugs.icu-project.org/trac/ticket/6929">#6929</a>
- <a href="http://bugs.icu-project.org/trac/changeset/26005">r26005</a> —
- Symbol Renaming disabled on Windows by default
- </li>
- <li>
- <a href="http://bugs.icu-project.org/trac/ticket/6936">#6936</a>
- <a href="http://bugs.icu-project.org/trac/changeset/26018">r26018</a> —
- Data Building Difficulty on IBM i
- </li>
- <li>
- <a href="http://bugs.icu-project.org/trac/ticket/6925">#6925</a>
- <a href="http://bugs.icu-project.org/trac/changeset/26002">r26002</a> —
- Data Building Difficulty on IBM zOS under ASCII Mode
- </li>
- </ul>
+ <p>To see which APIs are new or changed in this release, view the <a href="APIChangeReport.html">ICU4C API Change Report</a>. </p>
- <p>To see which APIs are new or changed in the 4.2 release, view the <a href="APIChangeReport.html">ICU4C API Change Report</a>. </p>
-
-
- <p><!-- The following list concentrates on <em>changes that affect existing
- applications migrating from previous ICU releases</em>. --> For more news about
- this release, see the <a href="http://www.icu-project.org/download/">ICU 4.2
+ <p>The following list concentrates on <em>changes that affect existing
+ applications migrating from previous ICU releases</em>.
+ For more news about
+ this release, see the <a href="http://site.icu-project.org/download">ICU
download page</a>.</p>
- <h3>Cross compilation and 64-bit support</h3>
- <p>ICU may now be cross compiled, see <a href="#HowToCrossCompileICU">How To Cross Compile ICU</a>.</p>
- <p>The --enable-64bit-libs and --disable-64bit-libs options are now deprecated. By default, ICU will build binaries using the compiler's default setting. To request 32 or 64 bit libraries, use --with-library-bits=32 or --with-library-bits=64. For the old behavior, of attempting 64 bit libraries if possible, use --with-library-bits=64else32. Intltest now reports the bit width that ICU is currently running under.</p>
+ <ul>
+ <li><strong>Compiler RTTI</strong><br />
+ ICU 4.6 requires compiler RTTI to be turned on.
+ It is used with many of ICU's polymorphic classes
+ (classes with virtual functions; they are subclasses of UObject).<br />
+ Existing "poor man's RTTI" functions continue to be available, but
+ the ICU code does not use them any more and users are encouraged
+ to use real C++ RTTI as well where necessary.
+ (<code>dynamic_cast<pointer></code> for casting and testing whether
+ an object is an instance of a class <em>or subclass</em>,
+ and <code>typeid(object or type)</code> for testing for type equality.)<br />
+ New ICU class hierarchies (new immediate subclasses of UObject) will not
+ add "poor man's RTTI" functions.<br />
+ On AIX with the Visual Age compiler, RTTI must be turned on explicitly
+ via the the <code>-qrtti</code> option.
+ When using ICU's own makefiles, this is done automatically via the
+ <code><a href="source/config/mh-aix-va">mh-aix-va</a></code> file.</li>
+ </ul>
-
- <h3>u_strToUTF32() and u_strFromUTF32() validate input UTF strings</h3>
- <p>
- Before ICU 4.2, the ustring.h functions u_strToUTF32() and u_strFromUTF32()
- were not fully validating their input strings.
- In particular, u_strToUTF32() passed unpaired surrogates through as
- surrogate code points, and u_strFromUTF32() accepted surrogate code points
- and passed them through as unpaired surrogates
- (which may by chance end up in a pair,
- indistinguishable from a supplementary code point).
- This is inconsistent with the function names,
- with the use of "UTF-16" and "UTF-32" in the documentation,
- and with their sibling UTF-8 functions which do validate fully.
- </p>
-
- <p>
- ICU 4.2 changes the u_strToUTF32() and u_strFromUTF32() implementations
- to treat malformed UTF input as an error.
- The API documentation has been clarified.
- </p>
-
- <p>
- Background: The implementation of these functions predates
- Unicode's tightening of the UTF specifications.
- We adapted the UTF-8 ustring.h functions and the ucnv_ converter functions
- but not these UTF-32 ustring.h functions.
- See the Unicode Standard chapter 3
- <a href="http://www.unicode.org/versions/Unicode5.0.0/ch03.pdf#G7404">section 3.9 Unicode Encoding Forms</a>
- for details, in particular definitions D79 Unicode encoding form
- and D80 Unicode string.
- </p>
-
<h2><a name="Download" href="#Download" id="Download">How To Download the
Source Code</a></h2>
@@ -315,7 +245,7 @@
tested more thoroughly than day-to-day development builds of the system,
and they are packaged in zip and tar files for convenient download. These
packaged files can be found at <a href=
- "http://www.icu-project.org/download/">http://www.icu-project.org/download/</a>.<br />
+ "http://site.icu-project.org/download">http://site.icu-project.org/download</a>.<br />
The packaged snapshots are named <strong>icu-nnnn.zip</strong> or
<strong>icu-nnnn.tgz</strong>, where nnnn is the version number. The .zip
file is used for Windows platforms, while the .tgz file is preferred on
@@ -327,7 +257,7 @@
ICU, you should probably be working with the latest version of the ICU
source code. You will need to check the code out of our Subversion repository to
ensure that you have the most recent version of all of the files. See our
- <a href="http://www.icu-project.org/repository/">source
+ <a href="http://site.icu-project.org/repository">source
repository</a> for details.</li>
</ul>
@@ -337,7 +267,7 @@
<p>In the descriptions below, <strong><i><ICU></i></strong> is the full
path name of the ICU directory (the top level directory from the distribution
archives) in your file system. You can also view the <a href=
- "http://www.icu-project.org/userguide/design.html">ICU Architectural
+ "http://userguide.icu-project.org/design">ICU Architectural
Design</a> section of the User's Guide to see which libraries you need for
your software product. You need at least the data (<code>[lib]icudt</code>)
and the common (<code>[lib]icuuc</code>) libraries in order to use ICU.</p>
@@ -423,7 +353,7 @@
<p>If some of the following directories are missing, it's probably
because you got an official download. If you need the data source files
for customization, then please download the ICU source code from <a
- href="http://www.icu-project.org/repository/">subversion</a>.</p>
+ href="http://site.icu-project.org/repository">subversion</a>.</p>
<ul>
<li><b>in/</b> A directory that contains a pre-built data library for
@@ -477,7 +407,7 @@
environment variable to the out/ or the out/build/ directories, but
this is generally discouraged because most people set it incorrectly.
You can view the <a href=
- "http://www.icu-project.org/userguide/icudata.html">ICU Data
+ "http://userguide.icu-project.org/icudata">ICU Data
Management</a> section of the ICU User's Guide for details.</p>
</td>
</tr>
@@ -581,306 +511,154 @@
<h2><a name="HowToBuild" href="#HowToBuild" id="HowToBuild">How To Build And
Install ICU</a></h2>
- <h3><a name="HowToBuildSupported" href="#HowToBuildSupported" id=
- "HowToBuildSupported">Supported Platforms</a></h3>
+ <h3><a name="RecBuild" href="#RecBuild" id=
+ "RecBuild">Recommended Build Options</a></h3>
- <table class="rtable" summary=
- "ICU can be built on many platforms.">
- <caption>
- Here is the status of building ICU on several different platforms.
- </caption>
+ <p>Depending on the platform and the type of installation,
+ we recommend a small number of modifications and build options.</p>
+ <ul>
+ <li><b>Namespace:</b> By default, unicode/uversion.h has
+ "using namespace icu;" which defeats much of the purpose of the namespace.
+ (This is for historical reasons: Originally, ICU4C did not use namespaces,
+ and some compilers did not support them. The default "using" statement
+ preserves source code compatibility.)<br>
+ We recommend you turn this off via <code>-DU_USING_ICU_NAMESPACE=0</code>
+ or by modifying unicode/uversion.h:
+<pre>Index: source/common/unicode/uversion.h
+===================================================================
+--- source/common/unicode/uversion.h (revision 26606)
++++ source/common/unicode/uversion.h (working copy)
+@@ -180,7 +180,8 @@
+ # define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE::
-
- <tr>
- <td>AIX 6.1 (power, 64-bit)</td>
- <td>VisualAge 9</td>
- <td class="works">Frequently Tested</td>
+ # ifndef U_USING_ICU_NAMESPACE
+-# define U_USING_ICU_NAMESPACE 1
++ // Set to 0 to force namespace declarations in ICU usage.
++# define U_USING_ICU_NAMESPACE 0
+ # endif
+ # if U_USING_ICU_NAMESPACE
+ U_NAMESPACE_USE
+</pre>
+ ICU call sites then either qualify ICU types explicitly,
+ for example <code>icu::UnicodeString</code>,
+ or do <code>using icu::UnicodeString;</code> where appropriate.</li>
+ <li><b>Hardcode the default charset to UTF-8:</b> On platforms where
+ the default charset is always UTF-8,
+ like MacOS X and some Linux distributions,
+ we recommend hardcoding ICU's default charset to UTF-8.
+ This means that some implementation code becomes simpler and faster,
+ and statically linked ICU libraries become smaller.
+ (See the <a href="http://icu-project.org/apiref/icu4c/utypes_8h.html#0a33e1edf3cd23d9e9c972b63c9f7943">U_CHARSET_IS_UTF8</a>
+ API documentation for more details.)<br>
+ You can <code>-DU_CHARSET_IS_UTF8=1</code> or modify unicode/utypes.h:
+<pre>Index: source/common/unicode/utypes.h
+===================================================================
+--- source/common/unicode/utypes.h (revision 26606)
++++ source/common/unicode/utypes.h (working copy)
+@@ -160,7 +160,7 @@
+ * @see UCONFIG_NO_CONVERSION
+ */
+ #ifndef U_CHARSET_IS_UTF8
+-# define U_CHARSET_IS_UTF8 0
++# define U_CHARSET_IS_UTF8 1
+ #endif
- </tr>
-
- <tr>
- <td>HP/UX 11iv3 (ia64, 64-bit)</td>
- <td>aCC A.06.15</td>
- <td class="works">Frequently Tested</td>
+ /*===========================================================================*/
+</pre></li>
+ <li><b>.dat file:</b> By default, the ICU data is built into
+ a shared library (DLL). This is convenient because it requires no
+ install-time or runtime configuration,
+ but the library is platform-specific and cannot be modified.
+ A .dat package file makes the opposite trade-off:
+ Platform-portable (except for endianness and charset family, which
+ can be changed with the icupkg tool)
+ and modifiable (also with the icupkg tool).
+ If a path is set, then single data files (e.g., .res files)
+ can be copied to that location to provide new locale data
+ or conversion tables etc.<br>
+ The only drawback with a .dat package file is that the application
+ needs to provide ICU with the file system path to the package file
+ (e.g., by calling <code>u_setDataDirectory()</code>)
+ or with a pointer to the data (<code>udata_setCommonData()</code>)
+ before other ICU API calls.
+ This is usually easy if ICU is used from an application where
+ <code>main()</code> takes care of such initialization.
+ It may be hard if ICU is shipped with
+ another shared library (such as the Xerces-C++ XML parser)
+ which does not control <code>main()</code>.<br>
+ See the <a href="http://userguide.icu-project.org/icudata">User Guide ICU Data</a>
+ chapter for more details.<br>
+ If possible, we recommend building the .dat package.
+ Specify <code>--with-data-packaging=archive</code>
+ on the configure command line, as in<br>
+ <code>runConfigureICU Linux --with-data-packaging=archive</code><br>
+ (Read the configure script's output for further instructions.
+ On Windows, the Visual Studio build generates both the .dat package
+ and the data DLL.)<br>
+ Be sure to install and use the tiny stubdata library
+ rather than the large data DLL.</li>
+ <li><b>Static libraries:</b> It may make sense to build the ICU code
+ into static libraries (.a) rather than shared libraries (.so/.dll).
+ Static linking reduces the overall size of the binary by removing
+ code that is never called.<br>
+ Example configure command line:<br>
+ <code>runConfigureICU Linux --enable-static --disable-shared</code></li>
+ <li><b>Out-of-source build:</b> It is usually desirable to keep the ICU
+ source file tree clean and have build output files written to
+ a different location. This is called an "out-of-source build".
+ Simply invoke the configure script from the target location:
+<pre>~/icu$ svn export http://source.icu-project.org/repos/icu/icu/trunk
+~/icu$ mkdir trunk-dev
+~/icu$ cd trunk-dev
+~/icu/trunk-dev$ ../trunk/source/runConfigureICU Linux
+~/icu/trunk-dev$ make check</pre></li>
+ </ul>
+ <h4>ICU as a System-Level Library</h4>
+ <p>If ICU is installed as a system-level library, there are further
+ opportunities and restrictions to consider.
+ For details, see the <em>Using ICU as an Operating System Level Library</em>
+ section of the <a href="http://userguide.icu-project.org/design">User Guide ICU Architectural Design</a> chapter.</p>
+ <ul>
+ <li><b>Data path:</b> For a system-level library, it is best to load
+ ICU data from the .dat package file because the file system path
+ to the .dat package file can be hardcoded. ICU will automatically set
+ the path to the final install location using U_ICU_DATA_DEFAULT_DIR.
+ Alternatively, you can set <code>-DICU_DATA_DIR=/path/to/icu/data</code>
+ when building the ICU code. (Used by source/common/putil.c.)<br>
+ Consider also setting <code>-DICU_NO_USER_DATA_OVERRIDE</code>
+ if you do not want the "ICU_DATA" environment variable to be used.
+ (An application can still override the data path via
+ <code>u_setDataDirectory()</code> or
+ <code>udata_setCommonData()</code>.</li>
+ <li><b>Hide draft API:</b> API marked with <code>@draft</code>
+ is new and not yet stable. Applications must not rely on unstable
+ APIs from a system-level library.
+ Define <code>U_HIDE_DRAFT_API</code>, <code>U_HIDE_INTERNAL_API</code>
+ and <code>U_HIDE_SYSTEM_API</code>
+ by modifying unicode/utypes.h before installing it.</li>
+ <li><b>Only C APIs:</b> Applications must not rely on C++ APIs from a
+ system-level library because binary C++ compatibility
+ across library and compiler versions is very hard to achieve.
+ Most ICU C++ APIs are in header files that contain a comment with
+ <code>\brief C++ API</code>.
+ Consider not installing these header files.</li>
+ <li><b>Disable renaming:</b> By default, ICU library entry point names
+ have an ICU version suffix. Turn this off for a system-level installation,
+ to enable upgrading ICU without breaking applications. For example:<br>
+ <code>runConfigureICU Linux --disable-renaming</code><br>
+ The public header files from this configuration must be installed
+ for applications to include and get the correct entry point names.</li>
+ </ul>
- </tr>
-
- <tr>
- <td>Red Hat Enterprise Linux 5 (x86, 32-bit)</td>
- <td>gcc 4.1.2</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>Red Hat Enterprise Linux 5 (x86, 64-bit)</td>
- <td>gcc 4.1.2</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>Solaris 10 (sparc, 64-bit)</td>
- <td>Sun Studio 12</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>Windows Vista SP1 (x86, 32-bit)</td>
- <td>MS Visual Studio 9</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>AIX 5.2 (power, 64-bit)</td>
- <td>VisualAge 6</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>AIX 5.3 (power, 64-bit)</td>
- <td>VisualAge 8</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>AIX 6.1 (power, 64-bit)</td>
- <td>gcc 4.2.4</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>HP/UX 11i (hppa, 64-bit)</td>
- <td>aCC A.03.85</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>MacOSX 10.5 Leopard (x86, 32-bit)</td>
- <td>gcc 4.0.1</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>MacOSX 10.5 Leopard (x86, 64-bit)</td>
- <td>gcc 4.0.1</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>Red Hat Enterprise Linux 4.2 (x86, 32-bit)</td>
- <td>gcc 3.4.6</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>Red Hat Enterprise Linux 4u7 (x86, 32-bit)</td>
- <td>gcc 4.2.4</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>Solaris 10 (sparc, 64-bit)</td>
- <td>gcc 4.2.1</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>SuSE 10 (x86, 64-bit)</td>
- <td>gcc</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>Windows 2000 Professional (x86, 32-bit)</td>
- <td>MS Visual Studio 2003 via Cygwin</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>Windows 2000 Professional (x86, 32-bit)</td>
- <td>gcc via Cygwin</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>Windows Server 2003 (x86, 64-bit)</td>
- <td>MS Visual Studio 8 via Cygwin</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>Windows Server 2008 (x86, 64-bit)</td>
- <td>MS Visual Studio 9</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr>
- <td>Windows XP Professional (x86, 32-bit)</td>
- <td>MS Visual Studio 9</td>
- <td class="works">Frequently Tested</td>
-
- </tr>
-
- <tr class="broken">
- <td>Red Hat Enterprise Linux 5 (x86, 32-bit)</td>
- <td>icc 11.0</td>
- <td class="broken">Broken <b><a href="http://bugs.icu-project.org/trac/ticket/6894">#6894</a></b></td>
-
- </tr>
-
- <tr class="broken">
- <td>SuSe Linux 7.2 (x86, 32-bit)</td>
- <td>icc 9.0</td>
- <td class="broken">Broken <b><a href="http://bugs.icu-project.org/trac/ticket/6888">#6888</a></b></td>
-
- </tr>
-
- <tr class="broken">
- <td>Windows Server 2008 (x86, 64-bit)</td>
- <td>MS Visual Studio 9 via Cygwin</td>
- <td class="broken">Broken <b><a href="http://bugs.icu-project.org/trac/ticket/6890">#6890</a></b></td>
-
- </tr>
-
-
-<!-- end IBM lab data -->
-
- <tr class="rarely">
- <td>z/OS 1.7</td>
-
- <td>cxx 1.7</td>
-
- <td>Rarely tested</td>
- </tr>
-
- <tr class="rarely">
- <td>Cygwin</td>
-
- <td>gcc 3.4.4</td>
-
- <td>Rarely tested</td>
- </tr>
-
- <tr class="rarely">
- <td>IBM i family (IBM i, i5/OS, OS/400)</td>
-
- <td>iCC</td>
-
- <td>Rarely tested (<b>Please read important news on the ICU web site.</b>)</td>
- </tr>
-
-
- <tr class="rarely">
- <td>MinGW</td>
-
- <td>gcc</td>
-
- <td>Rarely tested</td>
- </tr>
-
- <tr class="rarely">
- <td>NetBSD, OpenBSD, FreeBSD</td>
-
- <td>gcc</td>
-
- <td>Rarely tested</td>
- </tr>
-
- <tr class="rarely">
- <td>SUSE Linux Enterprise Server 9 (PowerPC)</td>
-
- <td>IBM XL C/C++ 8.0</td>
-
- <td>Rarely tested</td>
- </tr>
-
- <tr class="rarely">
- <td>QNX</td>
-
- <td>gcc</td>
-
- <td>Rarely tested</td>
- </tr>
-
- <tr class="rarely">
- <td>BeOS/Haiku</td>
-
- <td>gcc</td>
-
- <td>Rarely tested</td>
- </tr>
-
- <tr class="rarely">
- <td>SGI/IRIX</td>
-
- <td>MIPSpro CC</td>
-
- <td>Rarely tested</td>
- </tr>
-
- <tr class="rarely">
- <td>Tru64 (OSF)</td>
-
- <td>Compaq's cxx compiler</td>
-
- <td>Rarely tested</td>
- </tr>
-
- <tr class="rarely">
- <td>MP-RAS</td>
-
- <td>NCR MP-RAS C/C++ Compiler</td>
-
- <td>Rarely tested</td>
- </tr>
- </table>
-
- <p><br />
- </p>
-
- <h4>Key to testing frequency</h4>
-
- <dl>
- <dt><i>Reference platform</i></dt>
-
- <dd>ICU will work on these platforms with these compilers</dd>
-
- <dt><i>Regularly tested</i></dt>
-
- <dd>ICU should work on these platforms with these compilers</dd>
-
- <dt><i>Rarely tested</i></dt>
-
- <dd>ICU has been ported to these platforms but may not have been tested
- there recently</dd>
- </dl>
-
<h3><a name="HowToBuildWindows" href="#HowToBuildWindows" id=
"HowToBuildWindows">How To Build And Install On Windows</a></h3>
<p>Building International Components for Unicode requires:</p>
<ul>
- <li>Microsoft Windows 2000 or above</li>
+ <li>Microsoft Windows</li>
- <li>Microsoft Visual C++ 2005</li>
+ <li>Microsoft Visual C++</li>
<li><a href="#HowToBuildCygwin">Cygwin</a> is required when other versions
of Microsoft Visual C++ and other compilers are used to build ICU.</li>
@@ -898,7 +676,7 @@
not work without the location of the ICU DLL files in the path.</li>
<li>Open the "<i><ICU></i>\source\allinone\allinone.sln" workspace
- file in Microsoft Visual Studio 2003. (This solution includes all the
+ file in Microsoft Visual Studio. (This solution includes all the
International Components for Unicode libraries, necessary ICU building
tools, and the test suite projects). Please see the <a href=
"#HowToBuildWindowsCommandLine">command line note below</a> if you want to
@@ -911,6 +689,31 @@
build the Debug and Release at the same time, see the <a href=
"#HowToBuildWindowsBatch">batch configuration note</a> below.</li>
+
+ <li>Run the tests. They can be run from the command line or from within Visual Studio.
+
+ <h4>Running the Tests from the Windows Command Line (cmd)</h4>
+ <ul>
+ <li>For x86 (32 bit) and Debug, use: <br />
+
+ <tt><i><ICU></i>\source\allinone\icucheck.bat <i>Platform</i> <i>Configuration</i>
+ </tt> <br />
+ </li>
+ <li>So, for example:
+ <br />
+ <tt><i><ICU></i>\source\allinone\icucheck.bat <b>x86</b> <b>Debug</b>
+ </tt>
+ <br/> or <br />
+ <tt><i><ICU></i>\source\allinone\icucheck.bat <b>x86</b> <b>Release</b>
+ </tt>
+ <br/> or <br />
+ <tt><i><ICU></i>\source\allinone\icucheck.bat <b>x64</b> <b>Release</b>
+ </tt></li>
+ </ul>
+
+ <h4>Running the Tests from within Visual Studio</h4>
+
+ <ol>
<li>Run the C++ test suite, "intltest". To do this: set the active startup
project to "intltest", and press Ctrl+F5 to run it. Make sure that it
passes without any errors.</li>
@@ -923,6 +726,10 @@
project to "iotest", and press Ctrl+F5 to run it. Make sure that it passes
without any errors.</li>
+ </ol>
+
+ </li>
+
<li>You are now able to develop applications with ICU by using the
libraries and tools in <i><ICU></i>\bin\. The headers are in
<i><ICU></i>\include\ and the link libraries are in
@@ -983,9 +790,9 @@
requires:</p>
<ul>
- <li>Microsoft 2000 or above</li>
+ <li>Microsoft Windows</li>
- <li>Microsoft Visual C++ 2003 or above (when gcc isn't used).</li>
+ <li>Microsoft Visual C++ (when gcc isn't used).</li>
<li>
Cygwin with the following installed:
@@ -995,6 +802,10 @@
<li>GNU make</li>
+ <li>ar</li>
+
+ <li>ranlib</li>
+
<li>man (if you plan to look at the man pages)</li>
</ul>
</li>
@@ -1016,9 +827,9 @@
Visual C++ compiler will not work with a bash command prompt.</li>
<li>If the computer isn't set up to use Visual C++ from the command line,
- you need to run vcvars32.bat. For example "<tt>C:\Program Files\Microsoft
+ you need to run vcvars32.bat.<br>For example:<br>"<tt>C:\Program Files\Microsoft
Visual Studio 8\VC\bin\vcvars32.bat</tt>" can be used for 32-bit builds
- <strong>or</strong> "<tt>C:\Program Files (x86)\Microsoft Visual Studio
+ <strong>or</strong> <br>"<tt>C:\Program Files (x86)\Microsoft Visual Studio
8\VC\bin\amd64\vcvarsamd64.bat</tt>" can be used for 64-bit builds on
Windows x64.</li>
@@ -1047,7 +858,17 @@
<p><a name="HowToWindowsConfigureICU" id=
"HowToWindowsConfigureICU"><strong>Configuring ICU on Windows
- NOTE:</strong></a> In addition to the Unix <a href=
+ NOTE:</strong></a> </p>
+ <p>
+ Ensure that the order of the PATH is MSVC, Cygwin, and then other PATHs. The configure
+ script needs certain tools in Cygwin (e.g. grep).
+ </p>
+ <p>
+ Also, you may need to run <tt>"dos2unix.exe"</tt> on all of the scripts (e.g. configure)
+ in the top source directory of ICU. To avoid this issue, you can download
+ the ICU source for Unix platforms (icu-xxx.tgz).
+ </p>
+ <p>In addition to the Unix <a href=
"#HowToConfigureICU">configuration note</a> the following configure options
currently do not work on Windows with Microsoft's compiler. Some options can
work by manually editing <tt>icu/source/common/unicode/pwin32.h</tt>, but
@@ -1056,7 +877,8 @@
<ul>
<li><tt>--disable-renaming</tt></li>
- <li><tt>--disable-threading</tt></li>
+ <li><tt>--disable-threading</tt> (This flag does disable threading in ICU,
+ but the resulting ICU library will still be linked with MSVC's multithread DLL)</li>
<li><tt>--enable-tracing</tt></li>
@@ -1169,7 +991,7 @@
<ul>
<li>The makedep and GNU make tools are required for building ICU. If it
is not already installed on your system, it is available at the <a href=
- "http://www.ibm.com/servers/eserver/zseries/zos/unix/redbook/">z/OS UNIX -
+ "http://www-03.ibm.com/servers/eserver/zseries/zos/unix/bpxa1toy.html">z/OS UNIX -
Tools and Toys</a> site. The PATH environment variable should be updated to
contain the location of this executable prior to build. Failure to add these
tools to your PATH will cause ICU build failures or cause pkgdata to fail
@@ -1305,8 +1127,6 @@
<h3><a name="HowToBuildOS400" href="#HowToBuildOS400" id=
"HowToBuildOS400">How To Build And Install On The IBM i Family (IBM i, i5/OS OS/400)</a></h3>
-
- <div class="note" style="font-size: 2em;"><b style="color: red">Note:</b> At the time of ICU 4.2's release, there were known issues in building on the IBM i family. Please see the <a href="http://icu-project.org/download/4.2.html#i">ICU 4.2 download page</a> for the latest news.</div>
<p>Before you start building ICU, ICU requires the following:</p>
@@ -1314,7 +1134,7 @@
<li>QSHELL interpreter installed (install base option 30, operating system)
<!--li>QShell Utilities, PRPQ 5799-XEH (not required for V4R5)</li--></li>
- <li>ILE C/C++ Compiler installed on the system
+ <li>ILE C/C++ Compiler installed on the system</li>
<li>The latest GNU facilities (You can get the GNU facilities
from <a href=
@@ -1334,28 +1154,28 @@
library on the OUTPUTDIR environment variable.
<pre>
<samp>CRTLIB LIB(<i>libraryname</i>)
-ADDENVVAR ENVVAR(OUTPUTDIR) VALUE('<i>libraryname</i>')</samp>
+ADDENVVAR ENVVAR(OUTPUTDIR) VALUE('<i>libraryname</i>') REPLACE(*YES) </samp>
</pre>
</li>
<li>
Set up the following environment variables and job characteristics in your build process
<pre>
-<samp>ADDENVVAR ENVVAR(MAKE) VALUE('/usr/bin/gmake')
+<samp>ADDENVVAR ENVVAR(MAKE) VALUE('/usr/bin/gmake') REPLACE(*YES)
CHGJOB CCSID(37)</samp>
-</pre>
+</pre></li>
<li>Run <tt>'QSH'</tt></li>
<li>Run gunzip on the ICU source code compressed tar archive
(icu-<i>X</i>.<i>Y</i>.tgz).</li>
- <li>Run unpax-icu.sh on the tar file generated from the previous step.</li>
+ <li>Run <a href='as_is/os400/unpax-icu.sh'>unpax-icu.sh</a> on the tar file generated from the previous step.</li>
<li>Change your current directory to icu/source.</li>
<li>Run <tt>'./runConfigureICU IBMi'</tt> (See <a href="#HowToConfigureICU">configuration
- note</a> for details).</li></li>
+ note</a> for details).</li>
<li>Run <tt>'gmake'</tt> to build ICU.</li>
@@ -1375,13 +1195,13 @@
<p>Three initially-empty directories will be used in this example:</p>
<table summary="Three directories used in this example" class="docTable">
<tr>
- <th align=left>/icu</th><td>a copy of the ICU source</td>
+ <th align="left">/icu</th><td>a copy of the ICU source</td>
</tr>
<tr>
- <th align=left>/buildA</th><td>an empty directory, it will contain ICU built for A<br>(MacOSX in this case)</td>
+ <th align="left">/buildA</th><td>an empty directory, it will contain ICU built for A<br>(MacOSX in this case)</td>
</tr>
<tr>
- <th align=left>/buildB</th><td>an empty directory, it will contain ICU built for B<br>(HaikuOS in this case)</td>
+ <th align="left">/buildB</th><td>an empty directory, it will contain ICU built for B<br>(HaikuOS in this case)</td>
</tr>
</table>
@@ -1436,7 +1256,7 @@
operating systems that do not have a standard C++ ABI (name mangling) for
compilers, it is recommended to do this special packaging anyway. More
details on customizing ICU are available in the <a href=
- "http://www.icu-project.org/userguide/">User's Guide</a>. The <a href=
+ "http://userguide.icu-project.org/">User's Guide</a>. The <a href=
"#SourceCode">ICU Source Code Organization</a> section of this readme.html
gives a more complete description of the libraries.</p>
@@ -1465,7 +1285,7 @@
<td>Data required by the Common and I18n libraries. There are many ways
to package and <a href=
- "http://www.icu-project.org/userguide/icudata.html">customize this
+ "http://userguide.icu-project.org/icudata">customize this
data</a>, but by default this is all you need.</td>
</tr>
@@ -1711,7 +1531,7 @@
<p>If you are using ICU's Makefiles to build ICU on a new platform, there are
a few places where you will need to add or modify some files. If you need
more help, you can always ask the <a href=
- "http://www.icu-project.org/contacts.html">icu-support mailing list</a>. Once
+ "http://site.icu-project.org/contacts">icu-support mailing list</a>. Once
you have finished porting ICU to a new platform, it is recommended that you
contribute your changes back to ICU via the icu-support mailing list. This
will make it easier for everyone to benefit from your work.</p>
@@ -1726,7 +1546,7 @@
<p>Data files can be built on a different platform when both platforms share
the same endianness and the same charset family. This assertion does not
include platform dependent DLLs/shared/static libraries. For details see the
- User Guide <a href="http://www.icu-project.org/userguide/icudata.html">ICU
+ User Guide <a href="http://userguide.icu-project.org/icudata">ICU
Data</a> chapter.</p>
<p>ICU 3.6 removes the requirement that ICU be completely built in the native
@@ -1845,7 +1665,7 @@
</ul>
<hr />
- <p>Copyright © 1997-2009 International Business Machines Corporation and
+ <p>Copyright © 1997-2010 International Business Machines Corporation and
others. All Rights Reserved.<br />
IBM Globalization Center of Competency - San José<br />
4400 North First Street<br />
Modified: trunk/unicode-license.txt
===================================================================
--- trunk/unicode-license.txt 2009-10-26 04:54:17 UTC (rev 223)
+++ trunk/unicode-license.txt 2010-12-04 15:05:42 UTC (rev 224)
@@ -16,7 +16,7 @@
COPYRIGHT AND PERMISSION NOTICE
- Copyright © 1991-2008 Unicode, Inc. All rights reserved. Distributed under
+ Copyright © 1991-2010 Unicode, Inc. All rights reserved. Distributed under
the Terms of Use in http://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining a copy
More information about the sword-cvs
mailing list