[sword-svn] r183 - trunk
chrislit at crosswire.org
chrislit at crosswire.org
Fri May 8 19:24:06 MST 2009
Author: chrislit
Date: 2009-05-08 19:24:06 -0700 (Fri, 08 May 2009)
New Revision: 183
Modified:
trunk/APIChangeReport.html
trunk/icu4c.css
trunk/license.html
trunk/readme.html
trunk/unicode-license.txt
Log:
ICU 4.2 update, first pass
Modified: trunk/APIChangeReport.html
===================================================================
--- trunk/APIChangeReport.html 2009-05-09 02:23:54 UTC (rev 182)
+++ trunk/APIChangeReport.html 2009-05-09 02:24:06 UTC (rev 183)
@@ -1,4 +1,3471 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?><!--
+ Copyright (C) 2009, International Business Machines Corporation, All Rights Reserved.
+ --><html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ICU4C API Comparison: 4.0.1 with 4.2</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>
+<ul>
+<li>
+<a href="#removed">Removed from 4.0.1</a>
+</li>
+<li>
+<a href="#deprecated">Deprecated or Obsoleted in 4.2</a>
+</li>
+<li>
+<a href="#changed">Changed in 4.2</a>
+</li>
+<li>
+<a href="#promoted">Promoted to stable in 4.2</a>
+</li>
+<li>
+<a href="#added">Added in 4.2</a>
+</li>
+<li>
+<a href="#other">Other existing drafts in 4.2</a>
+</li>
+</ul>
+<hr>
+<a name="removed">
+<h2>Removed from 4.0.1</h2>
+</a>
+<table BORDER="1" class="genTable">
+<THEAD>
+<tr>
+<th>File</th><th>API</th><th>4.0.1</th><th>4.2</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>
+<span class=""><span></span></span></td>
+</tr>
<!--
- Copyright (C) 2008, International Business Machines Corporation, All Rights Reserved.
- --><html><head><title>ICU4C API Comparison: 3.8.1 with 4.0</title><link type="text/css" rel="stylesheet" href="icu4c.css"/></head><body><h1>ICU4C API Comparison: 3.8.1 with 4.0</h1><hr/><h2>Removed from 3.8.1</h2><table BORDER="1"><THEAD><tr><th>File</th><th>API</th><th>3.8.1</th><th>4.0</th></tr></THEAD><tr class="row1"><td>LESwaps.h</td><td>static le_uint16 LESwaps::swapWord(le_uint16 value)</td><td class="stabchange">Stable<br/>2.8</td><td>None<br/><span class=""><span/></span></td></tr><tr class="row0"><td>LESwaps.h</td><td>static le_uint32 LESwaps::swapLong(le_uint32 value)</td><td class="stabchange">Stable<br/>2.8</td><td>None<br/><span class=""><span/></span></td></tr><tr class="row1"><td>LESwaps.h</td><td>static le_uint8 LESwaps::isBigEndian()</td><td class="stabchange">Stable<br/>2.8</td><td>None<br/><span class=""><span/></span></td></tr><tr class="row0"><td>msgfmt.h</td><td>UBool MessageFormat::Subformat::operator==(const Subformat &that) const</td><td class="">Internal<br/>.</td><td>None<br/><span class=""><span/></span></td></tr><tr class="row1"><td>msgfmt.h</td><td>Subformat& MessageFormat::Subformat::operator=(const Subformat &that)</td><td class="">Internal<br/>.</td><td>None<br/><span class=""><span/></span></td></tr><tr class="row0"><td>msgfmt.h</td><td>UBool MessageFormat::Subformat::operator!=(const Subformat &that) const</td><td class="">Internal<br/>.</td><td>None<br/><span class=""><span/></span></td></tr><tr class="row1"><td>ucol.h</td><td>UCollator* ucol_openFromIdentifier(uint32_t identifier, UBool forceDefaults, UErrorCode *status)</td><td class="">Internal<br/>3.0</td><td>None<br/><span class=""><span/></span></td></tr><tr class="row0"><td>ucol.h</td><td>int32_t ucol_identifierToShortString(uint32_t identifier, char *buffer, int32_t capacity, UBool forceDefaults, UErrorCode *status)</td><td class="">Internal<br/>3.0</td><td>None<br/><span class=""><span/></span></td></tr><tr class="row1"><td>ucol.h</td><td>uint32_t ucol_shortStringToIdentifier(const char *definition, UBool forceDefaults, UErrorCode *status)</td><td class="">Internal<br/>3.0</td><td>None<br/><span class=""><span/></span></td></tr><tr class="row0"><td>ucol.h</td><td>uint32_t ucol_collatorToIdentifier(const UCollator *coll, const char *locale, UErrorCode *status)</td><td class="">Internal<br/>3.0</td><td>None<br/><span class=""><span/></span></td></tr></table><P/><hr/><h2>Deprecated or Obsoleted in 4.0</h2><table BORDER="1"><THEAD><tr><th>File</th><th>API</th><th>3.8.1</th><th>4.0</th></tr></THEAD></table><P/><hr/><h2>Changed in 4.0 (old, new)</h2><table BORDER="1"><THEAD><tr><th>File</th><th>API</th><th>3.8.1</th><th>4.0</th></tr></THEAD><tr class="row1"><td>basictz.h</td><td>int32_t BasicTimeZone::countTransitionRules(UErrorCode &status)=0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>basictz.h</td><td>BasicTimeZone::~BasicTimeZone()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>basictz.h</td><td>void BasicTimeZone::getSimpleRulesNear(UDate date, InitialTimeZoneRule *&initial, AnnualTimeZoneRule *&std, AnnualTimeZoneRule *&dst, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>basictz.h</td><td>UBool BasicTimeZone::getNextTransition(UDate base, UBool inclusive, TimeZoneTransition &result)=0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>basictz.h</td><td>UBool BasicTimeZone::getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition &result)=0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>basictz.h</td><td>void BasicTimeZone::getTimeZoneRules(const InitialTimeZoneRule *&initial, const TimeZoneRule *trsrules[], int32_t &trscount, UErrorCode &status)=0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>basictz.h</td><td>UBool BasicTimeZone::hasEquivalentTransitions(BasicTimeZone &tz, UDate start, UDate end, UBool ignoreDstAmount, UErrorCode &ec)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>UBool DateTimePatternGenerator::operator!=(const DateTimePatternGenerator &other) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>const UnicodeString& DateTimePatternGenerator::getAppendItemName(UDateTimePatternField field) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>const UnicodeString& DateTimePatternGenerator::getPatternForSkeleton(const UnicodeString &skeleton) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>StringEnumeration* DateTimePatternGenerator::getBaseSkeletons(UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>DateTimePatternGenerator::~DateTimePatternGenerator()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>UnicodeString DateTimePatternGenerator::getSkeleton(const UnicodeString &pattern, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>static UClassID DateTimePatternGenerator::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>UnicodeString DateTimePatternGenerator::replaceFieldTypes(const UnicodeString &pattern, const UnicodeString &skeleton, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>UBool DateTimePatternGenerator::operator==(const DateTimePatternGenerator &other) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>DateTimePatternGenerator* DateTimePatternGenerator::clone() const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>static DateTimePatternGenerator* DateTimePatternGenerator::createInstance(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>const UnicodeString& DateTimePatternGenerator::getDecimal() const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>const UnicodeString& DateTimePatternGenerator::getAppendItemFormat(UDateTimePatternField field) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>UClassID DateTimePatternGenerator::getDynamicClassID() const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>void DateTimePatternGenerator::setAppendItemName(UDateTimePatternField field, const UnicodeString &value)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>void DateTimePatternGenerator::setAppendItemFormat(UDateTimePatternField field, const UnicodeString &value)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>void DateTimePatternGenerator::setDecimal(const UnicodeString &decimal)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>static DateTimePatternGenerator* DateTimePatternGenerator::createEmptyInstance(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>StringEnumeration* DateTimePatternGenerator::getSkeletons(UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>void DateTimePatternGenerator::setDateTimeFormat(const UnicodeString &dateTimeFormat)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>static DateTimePatternGenerator* DateTimePatternGenerator::createInstance(const Locale &uLocale, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>UnicodeString DateTimePatternGenerator::getBaseSkeleton(const UnicodeString &pattern, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>const UnicodeString& DateTimePatternGenerator::getDateTimeFormat() const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>UnicodeString DateTimePatternGenerator::getBestPattern(const UnicodeString &skeleton, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>UDateTimePatternConflict DateTimePatternGenerator::addPattern(const UnicodeString &pattern, UBool override, UnicodeString &conflictingPattern, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>DateTimeRule::DateTimeRule(int32_t month, int32_t dayOfMonth, int32_t millisInDay, TimeRuleType timeType)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>int32_t DateTimeRule::getRuleWeekInMonth(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>int32_t DateTimeRule::getRuleMonth(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>DateTimeRule::DateTimeRule(int32_t month, int32_t dayOfMonth, int32_t dayOfWeek, UBool after, int32_t millisInDay, TimeRuleType timeType)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>DateTimeRule* DateTimeRule::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>UClassID DateTimeRule::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>DateTimeRule::~DateTimeRule()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>int32_t DateTimeRule::getRuleDayOfWeek(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>UBool DateTimeRule::operator==(const DateTimeRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>DateRuleType DateTimeRule::getDateRuleType(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>int32_t DateTimeRule::getRuleDayOfMonth(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>UBool DateTimeRule::operator!=(const DateTimeRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>DateTimeRule& DateTimeRule::operator=(const DateTimeRule &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>DateTimeRule::DateTimeRule(int32_t month, int32_t weekInMonth, int32_t dayOfWeek, int32_t millisInDay, TimeRuleType timeType)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>TimeRuleType DateTimeRule::getTimeRuleType(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>int32_t DateTimeRule::getRuleMillisInDay(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>DateTimeRule::DateTimeRule(const DateTimeRule &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>static UClassID DateTimeRule::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>RuleBasedTimeZone::RuleBasedTimeZone(const UnicodeString &id, InitialTimeZoneRule *initialRule)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>UClassID RuleBasedTimeZone::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>void RuleBasedTimeZone::addTransitionRule(TimeZoneRule *rule, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>void RuleBasedTimeZone::getOffset(UDate date, UBool local, int32_t &rawOffset, int32_t &dstOffset, UErrorCode &ec) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>UBool RuleBasedTimeZone::hasSameRules(const TimeZone &other) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>static UClassID RuleBasedTimeZone::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>void RuleBasedTimeZone::getTimeZoneRules(const InitialTimeZoneRule *&initial, const TimeZoneRule *trsrules[], int32_t &trscount, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>void RuleBasedTimeZone::complete(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>int32_t RuleBasedTimeZone::getRawOffset(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>void RuleBasedTimeZone::setRawOffset(int32_t offsetMillis)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>UBool RuleBasedTimeZone::getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition &result)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>RuleBasedTimeZone& RuleBasedTimeZone::operator=(const RuleBasedTimeZone &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>UBool RuleBasedTimeZone::operator==(const TimeZone &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>UBool RuleBasedTimeZone::useDaylightTime(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>UBool RuleBasedTimeZone::operator!=(const TimeZone &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>UBool RuleBasedTimeZone::getNextTransition(UDate base, UBool inclusive, TimeZoneTransition &result)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>RuleBasedTimeZone::~RuleBasedTimeZone()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>int32_t RuleBasedTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day, uint8_t dayOfWeek, int32_t millis, int32_t monthLength, UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>TimeZone* RuleBasedTimeZone::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>int32_t RuleBasedTimeZone::countTransitionRules(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>RuleBasedTimeZone::RuleBasedTimeZone(const RuleBasedTimeZone &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>int32_t RuleBasedTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day, uint8_t dayOfWeek, int32_t millis, UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>simpletz.h</td><td>UBool SimpleTimeZone::getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition &result)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>simpletz.h</td><td>void SimpleTimeZone::getTimeZoneRules(const InitialTimeZoneRule *&initial, const TimeZoneRule *trsrules[], int32_t &trscount, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>simpletz.h</td><td>UBool SimpleTimeZone::getNextTransition(UDate base, UBool inclusive, TimeZoneTransition &result)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>simpletz.h</td><td>int32_t SimpleTimeZone::countTransitionRules(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>timezone.h</td><td>static const char* TimeZone::getTZDataVersion(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>TimeArrayTimeZoneRule& TimeArrayTimeZoneRule::operator=(const TimeArrayTimeZoneRule &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::getFinalStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>AnnualTimeZoneRule& AnnualTimeZoneRule::operator=(const AnnualTimeZoneRule &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::getStartInYear(int32_t year, int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeZoneRule::getNextStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const =0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::getFinalStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeZoneRule::getPreviousStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const =0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UClassID TimeArrayTimeZoneRule::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UClassID AnnualTimeZoneRule::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>AnnualTimeZoneRule::AnnualTimeZoneRule(const AnnualTimeZoneRule &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>InitialTimeZoneRule* InitialTimeZoneRule::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::getPreviousStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::operator!=(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>AnnualTimeZoneRule::~AnnualTimeZoneRule()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::getNextStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>InitialTimeZoneRule::InitialTimeZoneRule(const InitialTimeZoneRule &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>int32_t TimeZoneRule::getRawOffset(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::getFirstStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeZoneRule::getFinalStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const =0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>int32_t TimeArrayTimeZoneRule::countStartTimes(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>TimeArrayTimeZoneRule* TimeArrayTimeZoneRule::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>static UClassID TimeArrayTimeZoneRule::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>int32_t TimeZoneRule::getDSTSavings(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::getFinalStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeZoneRule::getFirstStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const =0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::getPreviousStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UnicodeString& TimeZoneRule::getName(UnicodeString &name) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::operator==(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>TimeArrayTimeZoneRule::~TimeArrayTimeZoneRule()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::getFirstStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UClassID InitialTimeZoneRule::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::isEquivalentTo(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::getNextStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::operator==(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>const DateTimeRule* AnnualTimeZoneRule::getRule(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>TimeZoneRule* TimeZoneRule::clone(void) const =0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>static UClassID AnnualTimeZoneRule::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>TimeArrayTimeZoneRule::TimeArrayTimeZoneRule(const TimeArrayTimeZoneRule &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::operator!=(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>TimeZoneRule::~TimeZoneRule()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::operator!=(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::getPreviousStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::getFirstStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::isEquivalentTo(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>int32_t AnnualTimeZoneRule::getStartYear(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::getNextStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>AnnualTimeZoneRule::AnnualTimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, const DateTimeRule &dateTimeRule, int32_t startYear, int32_t endYear)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>InitialTimeZoneRule::~InitialTimeZoneRule()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>TimeArrayTimeZoneRule::TimeArrayTimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, const UDate *startTimes, int32_t numStartTimes, DateTimeRule::TimeRuleType timeRuleType)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::getStartInYear(int32_t year, int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>InitialTimeZoneRule& InitialTimeZoneRule::operator=(const InitialTimeZoneRule &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeZoneRule::operator!=(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>AnnualTimeZoneRule::AnnualTimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, DateTimeRule *dateTimeRule, int32_t startYear, int32_t endYear)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::getStartTimeAt(int32_t index, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::operator==(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::isEquivalentTo(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>InitialTimeZoneRule::InitialTimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeZoneRule::operator==(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>AnnualTimeZoneRule* AnnualTimeZoneRule::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>static UClassID InitialTimeZoneRule::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>int32_t AnnualTimeZoneRule::getEndYear(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeZoneRule::isEquivalentTo(const TimeZoneRule &other) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>DateTimeRule::TimeRuleType TimeArrayTimeZoneRule::getTimeType(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>void TimeZoneTransition::setTo(const TimeZoneRule &to)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>TimeZoneTransition::TimeZoneTransition(UDate time, const TimeZoneRule &from, const TimeZoneRule &to)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>UBool TimeZoneTransition::operator==(const TimeZoneTransition &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>UBool TimeZoneTransition::operator!=(const TimeZoneTransition &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>TimeZoneTransition::TimeZoneTransition()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>void TimeZoneTransition::adoptTo(TimeZoneRule *to)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>const TimeZoneRule* TimeZoneTransition::getFrom(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>UClassID TimeZoneTransition::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>static UClassID TimeZoneTransition::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>void TimeZoneTransition::setTime(UDate time)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>TimeZoneTransition::TimeZoneTransition(const TimeZoneTransition &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>TimeZoneTransition::~TimeZoneTransition()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>void TimeZoneTransition::adoptFrom(TimeZoneRule *from)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>TimeZoneTransition& TimeZoneTransition::operator=(const TimeZoneTransition &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>UDate TimeZoneTransition::getTime(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>TimeZoneTransition* TimeZoneTransition::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>const TimeZoneRule* TimeZoneTransition::getTo(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>void TimeZoneTransition::setFrom(const TimeZoneRule &from)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>ucal.h</td><td>const char* ucal_getTZDataVersion(UErrorCode *status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>ucasemap.h</td><td>int32_t ucasemap_toTitle(UCaseMap *csm, UChar *dest, int32_t destCapacity, const UChar *src, int32_t srcLength, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>ucasemap.h</td><td>const UBreakIterator* ucasemap_getBreakIterator(const UCaseMap *csm)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>ucasemap.h</td><td>int32_t ucasemap_utf8ToTitle(UCaseMap *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>ucasemap.h</td><td>void ucasemap_setBreakIterator(UCaseMap *csm, UBreakIterator *iterToAdopt, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>ucasemap.h</td><td>int32_t ucasemap_utf8FoldCase(const UCaseMap *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>UEnumeration* udatpg_openBaseSkeletons(const UDateTimePatternGenerator *dtpg, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>const UChar* udatpg_getDecimal(const UDateTimePatternGenerator *dtpg, int32_t *pLength)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>void udatpg_setAppendItemFormat(UDateTimePatternGenerator *dtpg, UDateTimePatternField field, const UChar *value, int32_t length)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>UDateTimePatternGenerator* udatpg_open(const char *locale, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>const UChar* udatpg_getAppendItemFormat(const UDateTimePatternGenerator *dtpg, UDateTimePatternField field, int32_t *pLength)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>void udatpg_setDecimal(UDateTimePatternGenerator *dtpg, const UChar *decimal, int32_t length)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>int32_t udatpg_getSkeleton(UDateTimePatternGenerator *dtpg, const UChar *pattern, int32_t length, UChar *skeleton, int32_t capacity, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>void udatpg_close(UDateTimePatternGenerator *dtpg)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>void udatpg_setDateTimeFormat(const UDateTimePatternGenerator *dtpg, const UChar *dtFormat, int32_t length)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>int32_t udatpg_getBestPattern(UDateTimePatternGenerator *dtpg, const UChar *skeleton, int32_t length, UChar *bestPattern, int32_t capacity, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>const UChar* udatpg_getDateTimeFormat(const UDateTimePatternGenerator *dtpg, int32_t *pLength)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>void udatpg_setAppendItemName(UDateTimePatternGenerator *dtpg, UDateTimePatternField field, const UChar *value, int32_t length)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>UDateTimePatternGenerator* udatpg_clone(const UDateTimePatternGenerator *dtpg, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>UDateTimePatternGenerator* udatpg_openEmpty(UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>UDateTimePatternConflict udatpg_addPattern(UDateTimePatternGenerator *dtpg, const UChar *pattern, int32_t patternLength, UBool override, UChar *conflictingPattern, int32_t capacity, int32_t *pLength, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>UEnumeration* udatpg_openSkeletons(const UDateTimePatternGenerator *dtpg, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>const UChar* udatpg_getPatternForSkeleton(const UDateTimePatternGenerator *dtpg, const UChar *skeleton, int32_t skeletonLength, int32_t *pLength)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>int32_t udatpg_getBaseSkeleton(UDateTimePatternGenerator *dtpg, const UChar *pattern, int32_t length, UChar *baseSkeleton, int32_t capacity, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>const UChar* udatpg_getAppendItemName(const UDateTimePatternGenerator *dtpg, UDateTimePatternField field, int32_t *pLength)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>int32_t udatpg_replaceFieldTypes(UDateTimePatternGenerator *dtpg, const UChar *pattern, int32_t patternLength, const UChar *skeleton, int32_t skeletonLength, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uloc.h</td><td>int32_t uloc_getLocaleForLCID(uint32_t hostID, char *locale, int32_t localeCapacity, UErrorCode *status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uniset.h</td><td>UBool UnicodeSet::isFrozen() const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uniset.h</td><td>UnicodeFunctor* UnicodeSet::freeze()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uniset.h</td><td>int32_t UnicodeSet::spanBackUTF8(const char *s, int32_t length, USetSpanCondition spanCondition) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uniset.h</td><td>int32_t UnicodeSet::span(const UChar *s, int32_t length, USetSpanCondition spanCondition) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uniset.h</td><td>int32_t UnicodeSet::spanBack(const UChar *s, int32_t length, USetSpanCondition spanCondition) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uniset.h</td><td>int32_t UnicodeSet::spanUTF8(const char *s, int32_t length, USetSpanCondition spanCondition) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uniset.h</td><td>UnicodeFunctor* UnicodeSet::cloneAsThawed() const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>unistr.h</td><td>UnicodeString& UnicodeString::toTitle(BreakIterator *titleIter, const Locale &locale, uint32_t options)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uset.h</td><td>int32_t uset_spanBackUTF8(const USet *set, const char *s, int32_t length, USetSpanCondition spanCondition)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uset.h</td><td>int32_t uset_span(const USet *set, const UChar *s, int32_t length, USetSpanCondition spanCondition)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uset.h</td><td>int32_t uset_spanBack(const USet *set, const UChar *s, int32_t length, USetSpanCondition spanCondition)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uset.h</td><td>UBool uset_isFrozen(const USet *set)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uset.h</td><td>int32_t uset_spanUTF8(const USet *set, const char *s, int32_t length, USetSpanCondition spanCondition)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uset.h</td><td>USet* uset_cloneAsThawed(const USet *set)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uset.h</td><td>USet* uset_clone(const USet *set)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uset.h</td><td>void uset_freeze(USet *set)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>UBool VTimeZone::operator!=(const TimeZone &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>void VTimeZone::setRawOffset(int32_t offsetMillis)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>UBool VTimeZone::getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition &result)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>TimeZone* VTimeZone::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>UBool VTimeZone::hasSameRules(const TimeZone &other) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>VTimeZone& VTimeZone::operator=(const VTimeZone &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>static VTimeZone* VTimeZone::createVTimeZone(const UnicodeString &vtzdata, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>void VTimeZone::write(UDate start, UnicodeString &result, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>UBool VTimeZone::useDaylightTime(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>UClassID VTimeZone::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>void VTimeZone::write(UnicodeString &result, UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>static UClassID VTimeZone::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>int32_t VTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day, uint8_t dayOfWeek, int32_t millis, UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>void VTimeZone::setLastModified(UDate lastModified)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>UBool VTimeZone::getNextTransition(UDate base, UBool inclusive, TimeZoneTransition &result)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>void VTimeZone::getTimeZoneRules(const InitialTimeZoneRule *&initial, const TimeZoneRule *trsrules[], int32_t &trscount, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>UBool VTimeZone::getTZURL(UnicodeString &url) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>static VTimeZone* VTimeZone::createVTimeZoneByID(const UnicodeString &ID)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>VTimeZone::~VTimeZone()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>UBool VTimeZone::operator==(const TimeZone &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>UBool VTimeZone::getLastModified(UDate &lastModified) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>int32_t VTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day, uint8_t dayOfWeek, int32_t millis, int32_t monthLength, UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>VTimeZone::VTimeZone(const VTimeZone &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>int32_t VTimeZone::getRawOffset(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>void VTimeZone::getOffset(UDate date, UBool local, int32_t &rawOffset, int32_t &dstOffset, UErrorCode &ec) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>void VTimeZone::writeSimple(UDate time, UnicodeString &result, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>void VTimeZone::setTZURL(const UnicodeString &url)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>int32_t VTimeZone::countTransitionRules(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr></table><P/><hr/><h2>Promoted to stable in 4.0</h2><table BORDER="1"><THEAD><tr><th>File</th><th>API</th><th>3.8.1</th><th>4.0</th></tr></THEAD><tr class="row1"><td>basictz.h</td><td>int32_t BasicTimeZone::countTransitionRules(UErrorCode &status)=0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>basictz.h</td><td>BasicTimeZone::~BasicTimeZone()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>basictz.h</td><td>void BasicTimeZone::getSimpleRulesNear(UDate date, InitialTimeZoneRule *&initial, AnnualTimeZoneRule *&std, AnnualTimeZoneRule *&dst, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>basictz.h</td><td>UBool BasicTimeZone::getNextTransition(UDate base, UBool inclusive, TimeZoneTransition &result)=0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>basictz.h</td><td>UBool BasicTimeZone::getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition &result)=0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>basictz.h</td><td>void BasicTimeZone::getTimeZoneRules(const InitialTimeZoneRule *&initial, const TimeZoneRule *trsrules[], int32_t &trscount, UErrorCode &status)=0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>basictz.h</td><td>UBool BasicTimeZone::hasEquivalentTransitions(BasicTimeZone &tz, UDate start, UDate end, UBool ignoreDstAmount, UErrorCode &ec)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtitvinf.h</td><td>UClassID DateIntervalInfo::getDynamicClassID() const</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvinf.h</td><td>static UClassID DateIntervalInfo::getStaticClassID()</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvinf.h</td><td>UBool DateIntervalInfo::operator==(const DateIntervalInfo &other) const</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvinf.h</td><td>UBool DateIntervalInfo::operator!=(const DateIntervalInfo &other) const</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>UBool DateTimePatternGenerator::operator!=(const DateTimePatternGenerator &other) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>const UnicodeString& DateTimePatternGenerator::getAppendItemName(UDateTimePatternField field) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>const UnicodeString& DateTimePatternGenerator::getPatternForSkeleton(const UnicodeString &skeleton) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>StringEnumeration* DateTimePatternGenerator::getBaseSkeletons(UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>DateTimePatternGenerator::~DateTimePatternGenerator()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>UnicodeString DateTimePatternGenerator::getSkeleton(const UnicodeString &pattern, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>static UClassID DateTimePatternGenerator::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>UnicodeString DateTimePatternGenerator::replaceFieldTypes(const UnicodeString &pattern, const UnicodeString &skeleton, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>UBool DateTimePatternGenerator::operator==(const DateTimePatternGenerator &other) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>DateTimePatternGenerator* DateTimePatternGenerator::clone() const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>static DateTimePatternGenerator* DateTimePatternGenerator::createInstance(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>const UnicodeString& DateTimePatternGenerator::getDecimal() const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>const UnicodeString& DateTimePatternGenerator::getAppendItemFormat(UDateTimePatternField field) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>UClassID DateTimePatternGenerator::getDynamicClassID() const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>void DateTimePatternGenerator::setAppendItemName(UDateTimePatternField field, const UnicodeString &value)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>void DateTimePatternGenerator::setAppendItemFormat(UDateTimePatternField field, const UnicodeString &value)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>void DateTimePatternGenerator::setDecimal(const UnicodeString &decimal)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>static DateTimePatternGenerator* DateTimePatternGenerator::createEmptyInstance(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>StringEnumeration* DateTimePatternGenerator::getSkeletons(UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>void DateTimePatternGenerator::setDateTimeFormat(const UnicodeString &dateTimeFormat)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>static DateTimePatternGenerator* DateTimePatternGenerator::createInstance(const Locale &uLocale, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>UnicodeString DateTimePatternGenerator::getBaseSkeleton(const UnicodeString &pattern, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>const UnicodeString& DateTimePatternGenerator::getDateTimeFormat() const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtptngen.h</td><td>UnicodeString DateTimePatternGenerator::getBestPattern(const UnicodeString &skeleton, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtptngen.h</td><td>UDateTimePatternConflict DateTimePatternGenerator::addPattern(const UnicodeString &pattern, UBool override, UnicodeString &conflictingPattern, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>DateTimeRule::DateTimeRule(int32_t month, int32_t dayOfMonth, int32_t millisInDay, TimeRuleType timeType)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>int32_t DateTimeRule::getRuleWeekInMonth(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>int32_t DateTimeRule::getRuleMonth(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>DateTimeRule::DateTimeRule(int32_t month, int32_t dayOfMonth, int32_t dayOfWeek, UBool after, int32_t millisInDay, TimeRuleType timeType)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>DateTimeRule* DateTimeRule::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>UClassID DateTimeRule::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>DateTimeRule::~DateTimeRule()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>int32_t DateTimeRule::getRuleDayOfWeek(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>UBool DateTimeRule::operator==(const DateTimeRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>DateRuleType DateTimeRule::getDateRuleType(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>int32_t DateTimeRule::getRuleDayOfMonth(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>UBool DateTimeRule::operator!=(const DateTimeRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>DateTimeRule& DateTimeRule::operator=(const DateTimeRule &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>DateTimeRule::DateTimeRule(int32_t month, int32_t weekInMonth, int32_t dayOfWeek, int32_t millisInDay, TimeRuleType timeType)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>TimeRuleType DateTimeRule::getTimeRuleType(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>int32_t DateTimeRule::getRuleMillisInDay(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>dtrule.h</td><td>DateTimeRule::DateTimeRule(const DateTimeRule &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>dtrule.h</td><td>static UClassID DateTimeRule::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>LESwaps.h</td><td>static le_uint16 LESwaps::swapWord(const le_uint16 &value)</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>2.8</span></span></td></tr><tr class="row0"><td>LESwaps.h</td><td>static le_uint32 LESwaps::swapLong(const le_uint32 &value)</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>2.8</span></span></td></tr><tr class="row1"><td>msgfmt.h</td><td>UnicodeString& MessageFormat::format(const UnicodeString *argumentNames, const Formattable *arguments, int32_t count, UnicodeString &appendTo, UErrorCode &status) const</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>RuleBasedTimeZone::RuleBasedTimeZone(const UnicodeString &id, InitialTimeZoneRule *initialRule)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>UClassID RuleBasedTimeZone::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>void RuleBasedTimeZone::addTransitionRule(TimeZoneRule *rule, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>void RuleBasedTimeZone::getOffset(UDate date, UBool local, int32_t &rawOffset, int32_t &dstOffset, UErrorCode &ec) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>UBool RuleBasedTimeZone::hasSameRules(const TimeZone &other) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>static UClassID RuleBasedTimeZone::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>void RuleBasedTimeZone::getTimeZoneRules(const InitialTimeZoneRule *&initial, const TimeZoneRule *trsrules[], int32_t &trscount, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>void RuleBasedTimeZone::complete(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>int32_t RuleBasedTimeZone::getRawOffset(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>void RuleBasedTimeZone::setRawOffset(int32_t offsetMillis)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>UBool RuleBasedTimeZone::getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition &result)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>RuleBasedTimeZone& RuleBasedTimeZone::operator=(const RuleBasedTimeZone &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>UBool RuleBasedTimeZone::operator==(const TimeZone &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>UBool RuleBasedTimeZone::useDaylightTime(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>UBool RuleBasedTimeZone::operator!=(const TimeZone &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>UBool RuleBasedTimeZone::getNextTransition(UDate base, UBool inclusive, TimeZoneTransition &result)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>RuleBasedTimeZone::~RuleBasedTimeZone()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>int32_t RuleBasedTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day, uint8_t dayOfWeek, int32_t millis, int32_t monthLength, UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>TimeZone* RuleBasedTimeZone::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>int32_t RuleBasedTimeZone::countTransitionRules(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>rbtz.h</td><td>RuleBasedTimeZone::RuleBasedTimeZone(const RuleBasedTimeZone &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>rbtz.h</td><td>int32_t RuleBasedTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day, uint8_t dayOfWeek, int32_t millis, UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>simpletz.h</td><td>UBool SimpleTimeZone::getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition &result)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>simpletz.h</td><td>void SimpleTimeZone::getTimeZoneRules(const InitialTimeZoneRule *&initial, const TimeZoneRule *trsrules[], int32_t &trscount, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>simpletz.h</td><td>UBool SimpleTimeZone::getNextTransition(UDate base, UBool inclusive, TimeZoneTransition &result)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>simpletz.h</td><td>int32_t SimpleTimeZone::countTransitionRules(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>timezone.h</td><td>static const char* TimeZone::getTZDataVersion(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>TimeArrayTimeZoneRule& TimeArrayTimeZoneRule::operator=(const TimeArrayTimeZoneRule &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::getFinalStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>AnnualTimeZoneRule& AnnualTimeZoneRule::operator=(const AnnualTimeZoneRule &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::getStartInYear(int32_t year, int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeZoneRule::getNextStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const =0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::getFinalStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeZoneRule::getPreviousStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const =0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UClassID TimeArrayTimeZoneRule::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UClassID AnnualTimeZoneRule::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>AnnualTimeZoneRule::AnnualTimeZoneRule(const AnnualTimeZoneRule &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>InitialTimeZoneRule* InitialTimeZoneRule::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::getPreviousStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::operator!=(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>AnnualTimeZoneRule::~AnnualTimeZoneRule()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::getNextStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>InitialTimeZoneRule::InitialTimeZoneRule(const InitialTimeZoneRule &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>int32_t TimeZoneRule::getRawOffset(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::getFirstStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeZoneRule::getFinalStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const =0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>int32_t TimeArrayTimeZoneRule::countStartTimes(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>TimeArrayTimeZoneRule* TimeArrayTimeZoneRule::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>static UClassID TimeArrayTimeZoneRule::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>int32_t TimeZoneRule::getDSTSavings(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::getFinalStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeZoneRule::getFirstStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const =0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::getPreviousStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UnicodeString& TimeZoneRule::getName(UnicodeString &name) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::operator==(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>TimeArrayTimeZoneRule::~TimeArrayTimeZoneRule()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::getFirstStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UClassID InitialTimeZoneRule::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::isEquivalentTo(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::getNextStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::operator==(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>const DateTimeRule* AnnualTimeZoneRule::getRule(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>TimeZoneRule* TimeZoneRule::clone(void) const =0</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>static UClassID AnnualTimeZoneRule::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>TimeArrayTimeZoneRule::TimeArrayTimeZoneRule(const TimeArrayTimeZoneRule &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::operator!=(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>TimeZoneRule::~TimeZoneRule()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::operator!=(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::getPreviousStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::getFirstStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::isEquivalentTo(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>int32_t AnnualTimeZoneRule::getStartYear(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::getNextStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>AnnualTimeZoneRule::AnnualTimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, const DateTimeRule &dateTimeRule, int32_t startYear, int32_t endYear)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>InitialTimeZoneRule::~InitialTimeZoneRule()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>TimeArrayTimeZoneRule::TimeArrayTimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, const UDate *startTimes, int32_t numStartTimes, DateTimeRule::TimeRuleType timeRuleType)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool InitialTimeZoneRule::getStartInYear(int32_t year, int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>InitialTimeZoneRule& InitialTimeZoneRule::operator=(const InitialTimeZoneRule &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeZoneRule::operator!=(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>AnnualTimeZoneRule::AnnualTimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, DateTimeRule *dateTimeRule, int32_t startYear, int32_t endYear)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeArrayTimeZoneRule::getStartTimeAt(int32_t index, UDate &result) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::operator==(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool AnnualTimeZoneRule::isEquivalentTo(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>InitialTimeZoneRule::InitialTimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeZoneRule::operator==(const TimeZoneRule &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>AnnualTimeZoneRule* AnnualTimeZoneRule::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>static UClassID InitialTimeZoneRule::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>int32_t AnnualTimeZoneRule::getEndYear(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tzrule.h</td><td>UBool TimeZoneRule::isEquivalentTo(const TimeZoneRule &other) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tzrule.h</td><td>DateTimeRule::TimeRuleType TimeArrayTimeZoneRule::getTimeType(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>void TimeZoneTransition::setTo(const TimeZoneRule &to)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>TimeZoneTransition::TimeZoneTransition(UDate time, const TimeZoneRule &from, const TimeZoneRule &to)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>UBool TimeZoneTransition::operator==(const TimeZoneTransition &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>UBool TimeZoneTransition::operator!=(const TimeZoneTransition &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>TimeZoneTransition::TimeZoneTransition()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>void TimeZoneTransition::adoptTo(TimeZoneRule *to)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>const TimeZoneRule* TimeZoneTransition::getFrom(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>UClassID TimeZoneTransition::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>static UClassID TimeZoneTransition::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>void TimeZoneTransition::setTime(UDate time)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>TimeZoneTransition::TimeZoneTransition(const TimeZoneTransition &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>TimeZoneTransition::~TimeZoneTransition()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>void TimeZoneTransition::adoptFrom(TimeZoneRule *from)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>TimeZoneTransition& TimeZoneTransition::operator=(const TimeZoneTransition &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>UDate TimeZoneTransition::getTime(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>TimeZoneTransition* TimeZoneTransition::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>tztrans.h</td><td>const TimeZoneRule* TimeZoneTransition::getTo(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>tztrans.h</td><td>void TimeZoneTransition::setFrom(const TimeZoneRule &from)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>ucal.h</td><td>const char* ucal_getTZDataVersion(UErrorCode *status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>ucasemap.h</td><td>int32_t ucasemap_toTitle(UCaseMap *csm, UChar *dest, int32_t destCapacity, const UChar *src, int32_t srcLength, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>ucasemap.h</td><td>const UBreakIterator* ucasemap_getBreakIterator(const UCaseMap *csm)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>ucasemap.h</td><td>int32_t ucasemap_utf8ToTitle(UCaseMap *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>ucasemap.h</td><td>void ucasemap_setBreakIterator(UCaseMap *csm, UBreakIterator *iterToAdopt, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>ucasemap.h</td><td>int32_t ucasemap_utf8FoldCase(const UCaseMap *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>UEnumeration* udatpg_openBaseSkeletons(const UDateTimePatternGenerator *dtpg, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>const UChar* udatpg_getDecimal(const UDateTimePatternGenerator *dtpg, int32_t *pLength)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>void udatpg_setAppendItemFormat(UDateTimePatternGenerator *dtpg, UDateTimePatternField field, const UChar *value, int32_t length)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>UDateTimePatternGenerator* udatpg_open(const char *locale, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>const UChar* udatpg_getAppendItemFormat(const UDateTimePatternGenerator *dtpg, UDateTimePatternField field, int32_t *pLength)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>void udatpg_setDecimal(UDateTimePatternGenerator *dtpg, const UChar *decimal, int32_t length)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>int32_t udatpg_getSkeleton(UDateTimePatternGenerator *dtpg, const UChar *pattern, int32_t length, UChar *skeleton, int32_t capacity, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>void udatpg_close(UDateTimePatternGenerator *dtpg)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>void udatpg_setDateTimeFormat(const UDateTimePatternGenerator *dtpg, const UChar *dtFormat, int32_t length)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>int32_t udatpg_getBestPattern(UDateTimePatternGenerator *dtpg, const UChar *skeleton, int32_t length, UChar *bestPattern, int32_t capacity, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>const UChar* udatpg_getDateTimeFormat(const UDateTimePatternGenerator *dtpg, int32_t *pLength)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>void udatpg_setAppendItemName(UDateTimePatternGenerator *dtpg, UDateTimePatternField field, const UChar *value, int32_t length)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>UDateTimePatternGenerator* udatpg_clone(const UDateTimePatternGenerator *dtpg, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>UDateTimePatternGenerator* udatpg_openEmpty(UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>UDateTimePatternConflict udatpg_addPattern(UDateTimePatternGenerator *dtpg, const UChar *pattern, int32_t patternLength, UBool override, UChar *conflictingPattern, int32_t capacity, int32_t *pLength, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>UEnumeration* udatpg_openSkeletons(const UDateTimePatternGenerator *dtpg, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>const UChar* udatpg_getPatternForSkeleton(const UDateTimePatternGenerator *dtpg, const UChar *skeleton, int32_t skeletonLength, int32_t *pLength)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>int32_t udatpg_getBaseSkeleton(UDateTimePatternGenerator *dtpg, const UChar *pattern, int32_t length, UChar *baseSkeleton, int32_t capacity, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>udatpg.h</td><td>const UChar* udatpg_getAppendItemName(const UDateTimePatternGenerator *dtpg, UDateTimePatternField field, int32_t *pLength)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>udatpg.h</td><td>int32_t udatpg_replaceFieldTypes(UDateTimePatternGenerator *dtpg, const UChar *pattern, int32_t patternLength, const UChar *skeleton, int32_t skeletonLength, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uloc.h</td><td>int32_t uloc_getLocaleForLCID(uint32_t hostID, char *locale, int32_t localeCapacity, UErrorCode *status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uniset.h</td><td>UBool UnicodeSet::isFrozen() const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uniset.h</td><td>UnicodeFunctor* UnicodeSet::freeze()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uniset.h</td><td>int32_t UnicodeSet::spanBackUTF8(const char *s, int32_t length, USetSpanCondition spanCondition) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uniset.h</td><td>int32_t UnicodeSet::span(const UChar *s, int32_t length, USetSpanCondition spanCondition) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uniset.h</td><td>int32_t UnicodeSet::spanBack(const UChar *s, int32_t length, USetSpanCondition spanCondition) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uniset.h</td><td>int32_t UnicodeSet::spanUTF8(const char *s, int32_t length, USetSpanCondition spanCondition) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uniset.h</td><td>UnicodeFunctor* UnicodeSet::cloneAsThawed() const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>unistr.h</td><td>UnicodeString& UnicodeString::toTitle(BreakIterator *titleIter, const Locale &locale, uint32_t options)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uset.h</td><td>int32_t uset_spanBackUTF8(const USet *set, const char *s, int32_t length, USetSpanCondition spanCondition)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uset.h</td><td>int32_t uset_span(const USet *set, const UChar *s, int32_t length, USetSpanCondition spanCondition)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uset.h</td><td>int32_t uset_spanBack(const USet *set, const UChar *s, int32_t length, USetSpanCondition spanCondition)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uset.h</td><td>UBool uset_isFrozen(const USet *set)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uset.h</td><td>int32_t uset_spanUTF8(const USet *set, const char *s, int32_t length, USetSpanCondition spanCondition)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uset.h</td><td>USet* uset_cloneAsThawed(const USet *set)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>uset.h</td><td>USet* uset_clone(const USet *set)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>uset.h</td><td>void uset_freeze(USet *set)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>UBool VTimeZone::operator!=(const TimeZone &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>void VTimeZone::setRawOffset(int32_t offsetMillis)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>UBool VTimeZone::getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition &result)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>TimeZone* VTimeZone::clone(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>UBool VTimeZone::hasSameRules(const TimeZone &other) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>VTimeZone& VTimeZone::operator=(const VTimeZone &right)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>static VTimeZone* VTimeZone::createVTimeZone(const UnicodeString &vtzdata, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>void VTimeZone::write(UDate start, UnicodeString &result, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>UBool VTimeZone::useDaylightTime(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>UClassID VTimeZone::getDynamicClassID(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>void VTimeZone::write(UnicodeString &result, UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>static UClassID VTimeZone::getStaticClassID(void)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>int32_t VTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day, uint8_t dayOfWeek, int32_t millis, UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>void VTimeZone::setLastModified(UDate lastModified)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>UBool VTimeZone::getNextTransition(UDate base, UBool inclusive, TimeZoneTransition &result)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>void VTimeZone::getTimeZoneRules(const InitialTimeZoneRule *&initial, const TimeZoneRule *trsrules[], int32_t &trscount, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>UBool VTimeZone::getTZURL(UnicodeString &url) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>static VTimeZone* VTimeZone::createVTimeZoneByID(const UnicodeString &ID)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>VTimeZone::~VTimeZone()</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>UBool VTimeZone::operator==(const TimeZone &that) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>UBool VTimeZone::getLastModified(UDate &lastModified) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>int32_t VTimeZone::getOffset(uint8_t era, int32_t year, int32_t month, int32_t day, uint8_t dayOfWeek, int32_t millis, int32_t monthLength, UErrorCode &status) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>VTimeZone::VTimeZone(const VTimeZone &source)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>int32_t VTimeZone::getRawOffset(void) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>void VTimeZone::getOffset(UDate date, UBool local, int32_t &rawOffset, int32_t &dstOffset, UErrorCode &ec) const</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>void VTimeZone::writeSimple(UDate time, UnicodeString &result, UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row1"><td>vtzone.h</td><td>void VTimeZone::setTZURL(const UnicodeString &url)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr><tr class="row0"><td>vtzone.h</td><td>int32_t VTimeZone::countTransitionRules(UErrorCode &status)</td><td class="">Draft<br/>3.8</td><td>Stable<br/><span class=""><span>3.8</span></span></td></tr></table><P/><hr/><h2>Added in 4.0</h2><table BORDER="1"><THEAD><tr><th>File</th><th>API</th><th>3.8.1</th><th>4.0</th></tr></THEAD><tr class="row1"><td>datefmt.h</td><td>static DateFormat* DateFormat::createPatternInstance(const UnicodeString &skeleton, const Locale &locale, UErrorCode &status)</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtintrv.h</td><td>UBool DateInterval::operator==(const DateInterval &other) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtintrv.h</td><td>DateInterval* DateInterval::clone() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtintrv.h</td><td>UBool DateInterval::operator!=(const DateInterval &other) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtintrv.h</td><td>UDate DateInterval::getFromDate() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtintrv.h</td><td>UDate DateInterval::getToDate() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtintrv.h</td><td>DateInterval& DateInterval::operator=(const DateInterval &)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtintrv.h</td><td>DateInterval::~DateInterval()</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtintrv.h</td><td>DateInterval::DateInterval(const DateInterval &other)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtintrv.h</td><td>DateInterval::DateInterval(UDate fromDate, UDate toDate)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtintrv.h</td><td>UClassID DateInterval::getDynamicClassID(void) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtintrv.h</td><td>static UClassID DateInterval::getStaticClassID(void)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvfmt.h</td><td>UnicodeString& DateIntervalFormat::format(const Formattable &obj, UnicodeString &appendTo, FieldPosition &fieldPosition, UErrorCode &status) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvfmt.h</td><td>const DateIntervalInfo* DateIntervalFormat::getDateIntervalInfo(void) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvfmt.h</td><td>void DateIntervalFormat::parseObject(const UnicodeString &source, Formattable &result, ParsePosition &parse_pos) const</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvfmt.h</td><td>static DateIntervalFormat* DateIntervalFormat::createInstance(const UnicodeString &skeleton, const Locale &locale, const DateIntervalInfo &dtitvinf, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvfmt.h</td><td>UClassID DateIntervalFormat::getDynamicClassID(void) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvfmt.h</td><td>static DateIntervalFormat* DateIntervalFormat::createInstance(const UnicodeString &skeleton, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvfmt.h</td><td>UnicodeString& DateIntervalFormat::format(Calendar &fromCalendar, Calendar &toCalendar, UnicodeString &appendTo, FieldPosition &fieldPosition, UErrorCode &status) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvfmt.h</td><td>static UClassID DateIntervalFormat::getStaticClassID(void)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvfmt.h</td><td>UnicodeString& DateIntervalFormat::format(const DateInterval *dtInterval, UnicodeString &appendTo, FieldPosition &fieldPosition, UErrorCode &status) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvfmt.h</td><td>void DateIntervalFormat::setDateIntervalInfo(const DateIntervalInfo &newIntervalPatterns, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvfmt.h</td><td>static DateIntervalFormat* DateIntervalFormat::createInstance(const UnicodeString &skeleton, const Locale &locale, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvfmt.h</td><td>UBool DateIntervalFormat::operator!=(const Format &other) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvfmt.h</td><td>const DateFormat* DateIntervalFormat::getDateFormat(void) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvfmt.h</td><td>static DateIntervalFormat* DateIntervalFormat::createInstance(const UnicodeString &skeleton, const DateIntervalInfo &dtitvinf, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvfmt.h</td><td>DateIntervalFormat::~DateIntervalFormat()</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvfmt.h</td><td>Format* DateIntervalFormat::clone(void) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvfmt.h</td><td>UBool DateIntervalFormat::operator==(const Format &other) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvinf.h</td><td>UClassID DateIntervalInfo::getDynamicClassID() const</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvinf.h</td><td>DateIntervalInfo::DateIntervalInfo(const Locale &locale, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvinf.h</td><td>UBool DateIntervalInfo::getDefaultOrder() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvinf.h</td><td>UnicodeString& DateIntervalInfo::getFallbackIntervalPattern(UnicodeString &result) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvinf.h</td><td>DateIntervalInfo::DateIntervalInfo(const DateIntervalInfo &)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvinf.h</td><td>void DateIntervalInfo::setFallbackIntervalPattern(const UnicodeString &fallbackPattern, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvinf.h</td><td>DateIntervalInfo::~DateIntervalInfo()</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvinf.h</td><td>DateIntervalInfo* DateIntervalInfo::clone(void) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvinf.h</td><td>DateIntervalInfo::DateIntervalInfo(UErrorCode &status)</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvinf.h</td><td>UnicodeString& DateIntervalInfo::getIntervalPattern(const UnicodeString &skeleton, UCalendarDateFields field, UnicodeString &result, UErrorCode &status) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvinf.h</td><td>static UClassID DateIntervalInfo::getStaticClassID()</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvinf.h</td><td>DateIntervalInfo& DateIntervalInfo::operator=(const DateIntervalInfo &)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvinf.h</td><td>UBool DateIntervalInfo::operator==(const DateIntervalInfo &other) const</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvinf.h</td><td>UBool DateIntervalInfo::operator!=(const DateIntervalInfo &other) const</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>dtitvinf.h</td><td>U_NAMESPACE_BEGIN static U_CDECL_BEGIN UBool U_CALLCONV hashTableValueComparator(UHashTok val1, UHashTok val2)</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>dtitvinf.h</td><td>void DateIntervalInfo::setIntervalPattern(const UnicodeString &skeleton, UCalendarDateFields lrgDiffCalUnit, const UnicodeString &intervalPattern, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>LESwaps.h</td><td>static le_uint16 LESwaps::swapWord(const le_uint16 &value)</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>2.8</span></span></td></tr><tr class="row1"><td>LESwaps.h</td><td>static le_uint32 LESwaps::swapLong(const le_uint32 &value)</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>2.8</span></span></td></tr><tr class="row0"><td>msgfmt.h</td><td>Format* MessageFormat::getFormat(const UnicodeString &formatName, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>msgfmt.h</td><td>void MessageFormat::setFormat(const UnicodeString &formatName, const Format &format, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>msgfmt.h</td><td>void MessageFormat::adoptFormat(const UnicodeString &formatName, Format *formatToAdopt, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>msgfmt.h</td><td>UnicodeString& MessageFormat::format(const UnicodeString *argumentNames, const Formattable *arguments, int32_t count, UnicodeString &appendTo, UErrorCode &status) const</td><td class="">None<br/></td><td>Stable<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>msgfmt.h</td><td>UBool MessageFormat::usesNamedArguments() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>msgfmt.h</td><td>StringEnumeration* MessageFormat::getFormatNames(UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>PluralFormat& PluralFormat::operator=(const PluralFormat &other)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>void PluralFormat::parseObject(const UnicodeString &source, Formattable &result, ParsePosition &parse_pos) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>PluralFormat::PluralFormat(const Locale &locale, const PluralRules &rules, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>void PluralFormat::setLocale(const Locale &locale, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>Format* PluralFormat::clone(void) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>PluralFormat::PluralFormat(const PluralRules &rules, const UnicodeString &pattern, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>UnicodeString& PluralFormat::format(double number, UnicodeString &appendTo, FieldPosition &pos, UErrorCode &status) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>PluralFormat::PluralFormat(const Locale &locale, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>PluralFormat::PluralFormat(const UnicodeString &pattern, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>UnicodeString& PluralFormat::toPattern(UnicodeString &appendTo)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>UnicodeString PluralFormat::format(double number, UErrorCode &status) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>UnicodeString& PluralFormat::format(const Formattable &obj, UnicodeString &appendTo, FieldPosition &pos, UErrorCode &status) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>static UClassID PluralFormat::getStaticClassID(void)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>PluralFormat::~PluralFormat()</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>UBool PluralFormat::operator==(const Format &other) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>UClassID PluralFormat::getDynamicClassID() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>UnicodeString& PluralFormat::format(int32_t number, UnicodeString &appendTo, FieldPosition &pos, UErrorCode &status) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>UBool PluralFormat::operator!=(const Format &other) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>PluralFormat::PluralFormat(const Locale &locale, const PluralRules &rules, const UnicodeString &pattern, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>UnicodeString PluralFormat::format(int32_t number, UErrorCode &status) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>void PluralFormat::setNumberFormat(const NumberFormat *format, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>PluralFormat::PluralFormat(const PluralRules &rules, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>PluralFormat::PluralFormat(const Locale &locale, const UnicodeString &pattern, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>void PluralFormat::applyPattern(const UnicodeString &pattern, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurfmt.h</td><td>PluralFormat::PluralFormat(const PluralFormat &other)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurfmt.h</td><td>PluralFormat::PluralFormat(UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurrule.h</td><td>UClassID PluralRules::getDynamicClassID() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurrule.h</td><td>PluralRules::PluralRules(const PluralRules &other)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurrule.h</td><td>static PluralRules* PluralRules::createRules(const UnicodeString &description, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurrule.h</td><td>static PluralRules* PluralRules::forLocale(const Locale &locale, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurrule.h</td><td>PluralRules& PluralRules::operator=(const PluralRules &)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurrule.h</td><td>PluralRules::PluralRules(UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurrule.h</td><td>UBool PluralRules::operator!=(const PluralRules &other) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurrule.h</td><td>UnicodeString PluralRules::select(double number) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurrule.h</td><td>PluralRules::~PluralRules()</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurrule.h</td><td>UnicodeString PluralRules::select(int32_t number) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurrule.h</td><td>static UClassID PluralRules::getStaticClassID(void)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurrule.h</td><td>static PluralRules* PluralRules::createDefaultRules(UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurrule.h</td><td>PluralRules* PluralRules::clone() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurrule.h</td><td>UBool PluralRules::operator==(const PluralRules &other) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurrule.h</td><td>UnicodeString PluralRules::getKeywordOther() const</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>plurrule.h</td><td>UBool PluralRules::isKeyword(const UnicodeString &keyword) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>plurrule.h</td><td>StringEnumeration* PluralRules::getKeywords(UErrorCode &status) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>regex.h</td><td>RegexMatcher& RegexMatcher::useTransparentBounds(UBool b)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>regex.h</td><td>UBool RegexMatcher::requireEnd() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>regex.h</td><td>UBool RegexMatcher::hasAnchoringBounds() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>regex.h</td><td>RegexMatcher& RegexMatcher::useAnchoringBounds(UBool b)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>regex.h</td><td>void RegexMatcher::setTimeLimit(int32_t limit, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>regex.h</td><td>int32_t RegexMatcher::regionStart() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>regex.h</td><td>UBool RegexMatcher::hitEnd() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>regex.h</td><td>int32_t RegexMatcher::getStackLimit() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>regex.h</td><td>void RegexMatcher::resetPreserveRegion()</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>.</span></span></td></tr><tr class="row0"><td>regex.h</td><td>RegexMatcher& RegexMatcher::region(int32_t start, int32_t limit, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>regex.h</td><td>void RegexMatcher::setMatchCallback(URegexMatchCallback *callback, const void *context, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>regex.h</td><td>int32_t RegexMatcher::getTimeLimit() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>regex.h</td><td>void RegexMatcher::setStackLimit(int32_t limit, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>regex.h</td><td>UBool RegexMatcher::hasTransparentBounds() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>regex.h</td><td>int32_t RegexMatcher::regionEnd() const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>regex.h</td><td>void RegexMatcher::getMatchCallback(URegexMatchCallback *&callback, const void *&context, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>smpdtfmt.h</td><td>const Locale& SimpleDateFormat::getSmpFmtLocale(void) const</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>smpdtfmt.h</td><td>UBool SimpleDateFormat::isFieldUnitIgnored(UCalendarDateFields field) const</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>smpdtfmt.h</td><td>static UBool SimpleDateFormat::isFieldUnitIgnored(const UnicodeString &pattern, UCalendarDateFields field)</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>timezone.h</td><td>static UnicodeString& TimeZone::getCanonicalID(const UnicodeString &id, UnicodeString &canonicalID, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>timezone.h</td><td>static UnicodeString& TimeZone::getCanonicalID(const UnicodeString &id, UnicodeString &canonicalID, UBool &isSystemID, UErrorCode &status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>ucal.h</td><td>int32_t ucal_getCanonicalTimeZoneID(const UChar *id, int32_t len, UChar *result, int32_t resultCapacity, UBool *isSystemID, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>ucal.h</td><td>UCalendar* ucal_clone(const UCalendar *cal, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>ucoleitr.h</td><td>int64_t ucol_previousProcessed(UCollationElements *elems, int32_t *ixLow, int32_t *ixHigh, UErrorCode *status)</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>.</span></span></td></tr><tr class="row1"><td>ucoleitr.h</td><td>int64_t ucol_nextProcessed(UCollationElements *elems, int32_t *ixLow, int32_t *ixHigh, UErrorCode *status)</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>.</span></span></td></tr><tr class="row0"><td>ucurr.h</td><td>int32_t ucurr_countCurrencies(const char *locale, UDate date, UErrorCode *ec)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>ucurr.h</td><td>int32_t ucurr_forLocaleAndDate(const char *locale, UDate date, int32_t index, UChar *buff, int32_t buffCapacity, UErrorCode *ec)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>uloc.h</td><td>ULayoutType uloc_getCharacterOrientation(const char *localeId, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>uloc.h</td><td>int32_t uloc_minimizeSubtags(const char *localeID, char *minimizedLocaleID, int32_t minimizedLocaleIDCapacity, UErrorCode *err)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>uloc.h</td><td>ULayoutType uloc_getLineOrientation(const char *localeId, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>uloc.h</td><td>int32_t uloc_addLikelySubtags(const char *localeID, char *maximizedLocaleID, int32_t maximizedLocaleIDCapacity, UErrorCode *err)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>uniset.h</td><td>UnicodeSet& UnicodeSet::removeAllStrings()</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>.</span></span></td></tr><tr class="row1"><td>uniset.h</td><td>UBool UnicodeSet::isBogus(void) const</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>uniset.h</td><td>void UnicodeSet::setToBogus()</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>uregex.h</td><td>UBool uregex_hitEnd(const URegularExpression *regexp, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>uregex.h</td><td>int32_t uregex_getTimeLimit(const URegularExpression *regexp, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>uregex.h</td><td>void uregex_setTimeLimit(URegularExpression *regexp, int32_t limit, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>uregex.h</td><td>UBool uregex_requireEnd(const URegularExpression *regexp, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>uregex.h</td><td>void uregex_useAnchoringBounds(URegularExpression *regexp, UBool b, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>uregex.h</td><td>void uregex_setStackLimit(URegularExpression *regexp, int32_t limit, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>uregex.h</td><td>int32_t uregex_regionEnd(const URegularExpression *regexp, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>uregex.h</td><td>UBool uregex_hasAnchoringBounds(const URegularExpression *regexp, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>uregex.h</td><td>U_CDECL_BEGIN typedef UBool U_CALLCONV URegexMatchCallback(const void *context, int32_t steps)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>uregex.h</td><td>UBool uregex_hasTransparentBounds(const URegularExpression *regexp, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>uregex.h</td><td>void uregex_setRegion(URegularExpression *regexp, int32_t regionStart, int32_t regionLimit, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>uregex.h</td><td>int32_t uregex_getStackLimit(const URegularExpression *regexp, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>uregex.h</td><td>void uregex_getMatchCallback(const URegularExpression *regexp, URegexMatchCallback **callback, const void **context, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>uregex.h</td><td>void uregex_useTransparentBounds(URegularExpression *regexp, UBool b, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>uregex.h</td><td>U_CDECL_END void uregex_setMatchCallback(URegularExpression *regexp, URegexMatchCallback *callback, const void *context, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row0"><td>uregex.h</td><td>int32_t uregex_regionStart(const URegularExpression *regexp, UErrorCode *status)</td><td class="">None<br/></td><td>Draft<br/><span class=""><span>4.0</span></span></td></tr><tr class="row1"><td>usearch.h</td><td>UBool usearch_searchBackwards(UStringSearch *strsrch, int32_t startIdx, int32_t *matchStart, int32_t *matchLimit, UErrorCode *status)</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>.</span></span></td></tr><tr class="row0"><td>usearch.h</td><td>UBool usearch_search(UStringSearch *strsrch, int32_t startIdx, int32_t *matchStart, int32_t *matchLimit, UErrorCode *status)</td><td class="">None<br/></td><td>Internal<br/><span class=""><span>.</span></span></td></tr></table><P/><hr/><p><i><font size="-1">Contents generated by StableAPI tool on Mon Jul 21 12:20:55 PDT 2008<br/>Copyright (C) 2008, International Business Machines Corporation, All Rights Reserved.</font></i></p></body></html>
\ No newline at end of file
+ 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>
+<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>
+<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>
+<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>
+<table BORDER="1" class="genTable">
+<THEAD>
+<tr>
+<th>File</th><th>API</th><th>4.0.1</th><th>4.2</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>
+<table BORDER="1" class="genTable">
+<THEAD>
+<tr>
+<th>File</th><th>API</th><th>4.0.1</th><th>4.2</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+<table BORDER="1" class="genTable">
+<THEAD>
+<tr>
+<th>File</th><th>API</th><th>4.0.1</th><th>4.2</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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><td>Stable<br>
+<span class=""><span>2.0</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><td>Stable<br>
+<span class=""><span>2.0</span></span></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><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</td><td class="">None<br>
+</td><td>Stable<br>
+<span class=""><span>2.0</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">unistr.h</td><td class="proto">UnicodeString::UnicodeString(const char *)</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><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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</tr>
+</table>
+<P></P>
+<a href="#_top">(jump back to top)</a>
+<hr>
+<a name="added">
+<h2>Added in 4.2</h2>
+</a>
+<table BORDER="1" class="genTable">
+<THEAD>
+<tr>
+<th>File</th><th>API</th><th>4.0.1</th><th>4.2</th>
+</tr>
+</THEAD>
+<tr class="row1">
+<td class="file">bytestream.h</td><td class="proto">ByteSink::~ByteSink()</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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>
+</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>
+</tr>
+<tr class="row1">
+<td class="file">bytestream.h</td><td class="proto">CheckedArrayByteSink::CheckedArrayByteSink(char *, int32_t )</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">bytestream.h</td><td class="proto">ByteSink::ByteSink()</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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>
+</tr>
+<tr class="row1">
+<td class="file">currpinf.h</td><td class="proto">CurrencyPluralInfo::CurrencyPluralInfo(const Locale &, UErrorCode &)</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">currpinf.h</td><td class="proto">CurrencyPluralInfo::~CurrencyPluralInfo()</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Internal<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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">errorcode.h</td><td class="proto">ErrorCode::ErrorCode()</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">errorcode.h</td><td class="proto">ErrorCode::~ErrorCode()</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><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>
+</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</tr>
+<tr class="row1">
+<td class="file">stringpiece.h</td><td class="proto">int32_t StringPiece::size() const</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">stringpiece.h</td><td class="proto">StringPiece::StringPiece()</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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>
+</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><td>Draft<br>
+<span class=""><span>4.2</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">tmunit.h</td><td class="proto">TimeUnit::~TimeUnit()</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</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>
+</tr>
+<tr class="row0">
+<td class="file">tmunit.h</td><td class="proto">TimeUnit::TimeUnit(const TimeUnit &)</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">tmutamt.h</td><td class="proto">TimeUnitAmount::~TimeUnitAmount()</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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>
+</tr>
+<tr class="row0">
+<td class="file">tmutamt.h</td><td class="proto">static UClassID TimeUnitAmount::getStaticClassID(void)</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">tmutfmt.h</td><td class="proto">TimeUnitFormat::~TimeUnitFormat()</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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>
+</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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>
+</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><td>Internal<br>
+<span class=""><span>4.2 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>
+</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Stable<br>
+<span class=""><span>2.0</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>
+</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><td>Stable<br>
+<span class=""><span>2.0</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>
+</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><td>Stable<br>
+<span class=""><span>2.0</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><td>Stable<br>
+<span class=""><span>2.0</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><td>Stable<br>
+<span class=""><span>2.0</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 char *) const</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">void UnicodeString::toUTF8(ByteSink &) const</td><td class="">None<br>
+</td><td>Draft<br>
+<span class=""><span>4.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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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><td>Draft<br>
+<span class=""><span>4.2</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><td>Draft<br>
+<span class=""><span>4.2</span></span></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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</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>
+</THEAD>
+</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>
+</p>
+</body>
+</html>
Modified: trunk/icu4c.css
===================================================================
--- trunk/icu4c.css 2009-05-09 02:23:54 UTC (rev 182)
+++ trunk/icu4c.css 2009-05-09 02:24:06 UTC (rev 183)
@@ -1,10 +1,11 @@
/*
- * Default CSS style sheet for the ICU Open Source site
- * Copyright (C) 2005-2008, International Business Machines
+ * Default CSS style sheet for the ICU4C Open Source readme
+ * Copyright (C) 2005-2009, International Business Machines
* Corporation and others. All Rights Reserved.
*/
/* Global styles */
+
body,p,li,ol,ul,th,td {
font-size: 10pt;
font-family: "Arial", "Helvetica", sans-serif;
@@ -25,51 +26,106 @@
/*
* Customize the headers to have less space around them than usual
*/
+
h1 {
- margin-bottom: 5pt;
- margin-top: 5pt;
+ margin-bottom: .5em;
+ margin-top: .5em;
+ padding-bottom: .5em;
+ padding-top: .5em;
font-weight: 700;
font-size: 20pt;
- font-family: "Arial", "Helvetica", sans-serif;
+ font-family: Georgia, "Times New Roman", Times, serif;
+ border-width: 2px;
+ border-style: solid;
+ text-align: center;
+ width: 100%;
+ font-size: 200%;
+ font-weight: bold;
}
h2 {
- margin-bottom: 0pt;
+ border-top: 2px solid #22d;
+ border-left: 2px solid #22d;
+ margin-bottom: 0.5em;
+ padding-left: 4px;
margin-top: 12pt;
font-weight: 700;
- font-size: 14pt;
- font-family: "Arial", "Helvetica", sans-serif;
+ font-size: 2em;
+ font-family: Georgia, "Times New Roman", Times, serif;
+ background-color: #eee;
+ page-break-before: always;
}
+h2 a {
+ text-decoration: none;
+ color: black;
+}
+
+h2 a:hover {
+ color: blue;
+ text-decoration: underline;
+}
+
h3 {
- background-color: #666666;
- color: White;
+ border-top: 1px solid gray;
+ color: #1e1c46;
margin-bottom: 0pt;
margin-top: 12pt;
- padding-left: 0.75em;
- font-size: 1em;
- font-family: "Arial", "Helvetica", sans-serif;
+ padding-left: 0;
+ margin-left: 1em;
+ margin-top: 0.2em;
+ padding-bottom: 0.4em;
+ font-size: 1.5em;
+ font-family: Georgia, "Times New Roman", Times, serif;
}
+h3 a {
+ text-decoration: none;
+ color: black;
+}
+
+h3 a:hover {
+ color: blue;
+ text-decoration: underline;
+}
+
h4 {
+ margin-left: 1.5em;
margin-bottom: 0pt;
margin-top: 12pt;
- font-size: 1em;
- font-family: "Arial", "Helvetica", sans-serif;
+ font-size: 1.0em;
+ font-weight: bolder;
+ font-family: Georgia, "Times New Roman", Times, serif;
}
+h4 a {
+ text-decoration: none;
+ color: black;
+}
+
+h4 a:hover {
+ color: blue;
+ text-decoration: underline;
+}
+
h5, h6 {
+ margin-left: 1.8em;
margin-bottom: 0pt;
margin-top: 12pt;
padding-left: 0.75em;
font-size: x-small;
- font-family: "Arial", "Helvetica", sans-serif;
+ font-family: Georgia, "Times New Roman", Times, serif;
}
+p,pre,table,ul,ol,dl {
+ margin-left: 2em;
+}
+
/*
* Navigation sidebar on the left hand of most pages
*/
-td.sidebar1 {
+
+td.sidebar1 {
background-color: #99CCFF;
font-weight: 700;
margin-top: 0px;
@@ -79,7 +135,7 @@
white-space: nowrap;
}
-td.sidebar2 {
+td.sidebar2 {
background-color: #99CCFF;
margin-top: 0px;
margin-bottom: 0px;
@@ -92,7 +148,8 @@
text-decoration: none;
display: block;
}
-td.sidebar2:hover {
+
+td.sidebar2:hover {
background-color: #EEEEFF;
padding-top: 1px;
padding-bottom: 1px;
@@ -105,26 +162,31 @@
display: block;
width: 100%;
}
+
a.sidebar2:link {
color: #000099;
display: block;
}
+
a.sidebar2:hover {
background-color: #EEEEFF;
display: block;
}
+
.underlinehover:hover {
background-color: #EEEEFF;
text-decoration: underline;
}
/* This is the faded header at the top */
+
td.fadedtop {
background-color: #006699;
background-image: url(http://www.icu-project.org/images/gr100.gif);
}
/* Related site on the left */
+
p.relatedsite {
color: White;
font-weight: 700;
@@ -136,45 +198,55 @@
}
/* Related site on the left */
+
p.sidebar3 {
margin-top: 0.75em;
margin-bottom: 0;
padding-left: 0.8em;
}
+
a.sidebar3 {
font-size: 0.9em;
text-decoration: none;
}
+
a.sidebar3:link {
text-decoration: none;
color: White;
}
+
a.sidebar3:hover {
text-decoration: underline;
}
/* FAQ */
+
li.faq_contents {
font-weight: 500;
}
+
p.faq_q {
- font-weight: 700;
+ font-weight: 700;
margin-bottom: 0px;
}
+
p.faq_a {
margin-top: 0px;
}
/* News items */
+
table.newsItem {
padding-left: 1em;
padding-right: 1em;
border-width: medium;
}
+
th.newsItem {
background-color: #666666;
color: White;
}
+
td.newsItem {
background-color: #CCCCCC;
}
@@ -183,13 +255,15 @@
padding-left: 0.5em;
padding-right: 0.5em;
white-space: nowrap;
- border:1px;
+ border: 1px;
}
+
.note {
font-style: italic;
font-size: small;
margin-left: 1em;
}
+
samp {
margin-left: 1em;
margin-right: 2em;
@@ -198,6 +272,7 @@
display: block;
background-color: #EEEEEE
}
+
table.rtable caption {
margin-left: 2px;
margin-right: 2px;
@@ -206,18 +281,34 @@
background-color: #dee2ff;
text-align: left;
}
+
table.rtable tr th {
background-color: #dee2ff;
text-align: left;
}
+
table.rtable tr td {
background-color: #c0c0fd;
padding: 3px;
}
+table.rtable tr.broken td {
+ background-color: #fbb;
+ border: 1px dashed gray;
+ padding: 3px;
+ font-weight: bold;
+}
+
+table.rtable tr.rarely td {
+ background-color: #efe9c2;
+ padding: 3px;
+ font-style: italic;
+}
+
/* APIChangeReport specific things */
+
.row0 {
- background-color: white;
+ background-color: white;
}
.row1 {
@@ -225,21 +316,132 @@
}
.verchange {
- color: red;
+ color: red;
font-weight: bold;
- font-size: large;
+ font-size: large;
}
.stabchange {
- color: red;
- font-size: large;
+ color: red;
+ font-size: large;
}
.bigwarn {
color: red;
background-color: white;
- font-size: x-large;
- margin: 0.5 em;
+ font-size: x-large;
+ margin: 0.5 em;
}
+table.genTable {
+ border-collapse: collapse;
+ border: 1px solid black;
+}
+/* 'everything inc version */
+
+table.gentable td {
+ border: 1px solid gray;
+ padding: 0.25em;
+ font-size: small;
+}
+
+/* not version */
+
+table.genTable td.file,
+table.genTable td.proto {
+ border: none;
+ font-size: medium;
+}
+
+table.genTable td.file {
+ font-family: monospace;
+ font-weight: bold;
+}
+
+div.other .row0 {
+ background-color: white;
+}
+
+div.other .row1 {
+ background-color: #ddf;
+}
+
+table.docTable {
+ border-collapse: collapse;
+ border: 1px solid black;
+}
+
+/* 'everything inc version */
+
+table.docTable td,
+table.docTable th {
+ border: 1px solid gray;
+ padding: 0.25em;
+ font-size: small;
+}
+
+/* not version */
+
+table.docTable td.file,
+table.docTable td.proto {
+ border: none;
+ font-size: medium;
+}
+
+table.docTable td.file {
+ font-family: monospace;
+ font-weight: bold;
+}
+
+abbr {
+ border-bottom: 1px dashed #0B0;
+}
+
+h2.TOC {
+ page-break-before: auto;
+}
+
+body.readme {
+
+}
+
+caption {
+ font-weight: bold;
+ text-align: left
+}
+
+div.indent {
+ margin-left: 2em
+}
+
+ul.TOC {
+ list-style-type: none;
+ padding-left: 1em;
+ font-size: larger;
+}
+
+ul.TOC li a {
+ font-weight: bold;
+}
+
+ul.TOC li ul li a {
+ font-weight: normal;
+ list-style-type: none;
+ font-size: small;
+}
+
+ul.TOC li ul {
+ margin-left: 0;
+ padding-left: 2em;
+ font-weight: normal;
+ list-style-type: none;
+}
+
+pre.samp,samp {
+ margin-left: 1em;
+ border-style: groove;
+ padding: 1em;
+ display: block;
+ background-color: #EEEEEE
+}
\ No newline at end of file
Modified: trunk/license.html
===================================================================
--- trunk/license.html 2009-05-09 02:23:54 UTC (rev 182)
+++ trunk/license.html 2009-05-09 02:24:06 UTC (rev 183)
@@ -11,7 +11,7 @@
<p>COPYRIGHT AND PERMISSION NOTICE</p>
<p>
-Copyright (c) 1995-2008 International Business Machines Corporation and others
+Copyright (c) 1995-2009 International Business Machines Corporation and others
</p>
<p>
All rights reserved.
Modified: trunk/readme.html
===================================================================
--- trunk/readme.html 2009-05-09 02:23:54 UTC (rev 182)
+++ trunk/readme.html 2009-05-09 02:24:06 UTC (rev 183)
@@ -6,33 +6,20 @@
<title>ReadMe for ICU</title>
<meta name="COPYRIGHT" content=
- "Copyright (c) 1997-2008 IBM Corporation and others. All Rights Reserved." />
+ "Copyright (c) 1997-2009 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=
"The introduction to the International Components for Unicode with instructions on building, installation, usage and other information about ICU." />
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
-<style type="text/css">
-/*<![CDATA[*/
- h1 {border-width: 2px; border-style: solid; text-align: center; width: 100%; font-size: 200%; font-weight: bold}
- h2 {margin-top: 3em; text-decoration: underline; page-break-before: always}
- h2.TOC {page-break-before: auto}
- h3 {margin-top: 2em; text-decoration: underline}
- h4 {text-decoration: underline}
- h5 {text-decoration: underline}
- caption {font-weight: bold; text-align: left}
- div.indent {margin-left: 2em}
- ul.TOC {list-style-type: none}
- samp {margin-left: 1em; border-style: groove; padding: 1em; display: block; background-color: #EEEEEE}
-/*]]>*/
-</style>
+ <link type="text/css" href="./icu4c.css" rel="stylesheet"/>
</head>
- <body>
+ <body class="readme">
<h1>International Components for Unicode<br />
- <abbr title="International Components for Unicode">ICU</abbr> 4.0.1 ReadMe</h1>
+ <abbr title="International Components for Unicode">ICU</abbr> 4.2 ReadMe</h1>
- <p>Version: 2009 Jan 15th<br />
+ <p>Version: 2009 May 8th<br />
Copyright © 1997-2009 International Business Machines Corporation and
others. All Rights Reserved.</p>
<!-- Remember that there is a copyright at the end too -->
@@ -54,7 +41,7 @@
<li>
<a href="#HowToBuild">How To Build And Install ICU</a>
- <ul class="TOC">
+ <ul >
<li><a href="#HowToBuildSupported">Supported Platforms</a></li>
<li><a href="#HowToBuildWindows">Windows</a></li>
@@ -66,15 +53,18 @@
<li><a href="#HowToBuildZOS">z/OS (os/390)</a></li>
<li><a href="#HowToBuildOS400">IBM i family (IBM i, i5/OS, OS/400)</a></li>
+
+ <li><a href="#HowToCrossCompileICU">How to Cross Compile ICU</a></li>
</ul>
</li>
+
<li><a href="#HowToPackage">How To Package ICU</a></li>
<li>
<a href="#ImportantNotes">Important Notes About Using ICU</a>
- <ul class="TOC">
+ <ul >
<li><a href="#ImportantNotesMultithreaded">Using ICU in a Multithreaded
Environment</a></li>
@@ -87,7 +77,7 @@
<li>
<a href="#PlatformDependencies">Platform Dependencies</a>
- <ul class="TOC">
+ <ul >
<li><a href="#PlatformDependenciesNew">Porting To A New
Platform</a></li>
@@ -148,8 +138,7 @@
The ICU homepage also links to related information about writing
internationalized software.</p>
- <table border="1" cellpadding="3" width="100%" summary=
- "These are some useful links regarding ICU and internationalization in general.">
+ <table class="docTable" summary="These are some useful links regarding ICU and internationalization in general.">
<caption>
Here are some useful links regarding ICU and internationalization in
general.
@@ -211,17 +200,50 @@
<h2><a name="News" href="#News" id="News">What is new in this
release?</a></h2>
- <p>To see which APIs are new or changed in this release since the previous feature release (3.8), view the <a href="APIChangeReport.html">ICU4C API Change Report</a>. </p>
+ <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>This is a an update release of 4.0, containing mostly selected bug fixes and implementations of inherited API, but
- does not introduce new API or functionality. These changes will be rolled into the next release of ICU4J </p>
- <p>To see which non-stable APIs are new or changed in 4.0.1 since 4.0, view the <a href="APIChangeReport_401.html">ICU4C 4.0 vs. 4.0.1 API Change Report</a>. </p>
-
- <p>For more news about
- this release, see the <a href="http://www.icu-project.org/download/">ICU 4.0.1
+ <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
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>
+
+
+ <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>
@@ -261,8 +283,7 @@
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>
- <table border="1" cellpadding="0" width="100%" summary=
- "The following files describe the code drop.">
+ <table class="docTable" summary="The following files describe the code drop.">
<caption>
The following files describe the code drop.
</caption>
@@ -289,7 +310,7 @@
<p><br />
</p>
- <table border="1" cellpadding="0" width="100%" summary=
+ <table class="docTable" summary=
"The following directories contain source code and data files.">
<caption>
The following directories contain source code and data files.
@@ -456,10 +477,9 @@
</tr>
<tr>
- <td><i><ICU></i>/<b>packaging</b>/<br />
- <i><ICU></i>/<b>debian</b>/</td>
+ <td><i><ICU></i>/<b>packaging</b>/</td>
- <td>These directories contain scripts and tools for packaging the final
+ <td>This directory contain scripts and tools for packaging the final
ICU build for various release platforms.</td>
</tr>
@@ -505,155 +525,185 @@
<h3><a name="HowToBuildSupported" href="#HowToBuildSupported" id=
"HowToBuildSupported">Supported Platforms</a></h3>
- <table border="1" cellpadding="3" summary=
+ <table class="rtable" summary=
"ICU can be built on many platforms.">
<caption>
- Here is a status of functionality of ICU on several different platforms.
+ Here is the status of building ICU on several different platforms.
</caption>
- <tr>
- <th scope="col">Operating system</th>
+
+ <tr>
+ <td>AIX 6.1 (power, 64-bit)</td>
+ <td>VisualAge 9</td>
+ <td class="works">Frequently Tested</td>
- <th scope="col">Compiler</th>
+ </tr>
+
+ <tr>
+ <td>HP/UX 11iv3 (ia64, 64-bit)</td>
+ <td>aCC A.06.15</td>
+ <td class="works">Frequently Tested</td>
- <th scope="col">Testing frequency</th>
- </tr>
+ </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>
- <td>Windows Vista SP1 (32 bit)</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>
- <td>Microsoft Visual C++ 2005 (8.0)</td>
+ </tr>
+
+ <tr>
+ <td>Solaris 10 (sparc, 64-bit)</td>
+ <td>Sun Studio 12</td>
+ <td class="works">Frequently Tested</td>
- <td>Reference platform</td>
- </tr>
- <tr>
- <td>Windows Server 2003 (64 bit)</td>
+ </tr>
+
+ <tr>
+ <td>Windows Vista SP1 (x86, 32-bit)</td>
+ <td>MS Visual Studio 9</td>
+ <td class="works">Frequently Tested</td>
- <td>Microsoft Visual C++ 2005 (8.0)</td>
+ </tr>
+
+ <tr>
+ <td>AIX 5.2 (power, 64-bit)</td>
+ <td>VisualAge 6</td>
+ <td class="works">Frequently Tested</td>
- <td>Reference platform</td>
- </tr>
+ </tr>
+
+ <tr>
+ <td>AIX 5.3 (power, 64-bit)</td>
+ <td>VisualAge 8</td>
+ <td class="works">Frequently Tested</td>
- <tr>
- <td>Red Hat Enterprise Linux 5 (x86, 32 bit)</td>
+ </tr>
+
+ <tr>
+ <td>AIX 6.1 (power, 64-bit)</td>
+ <td>gcc 4.2.4</td>
+ <td class="works">Frequently Tested</td>
- <td>gcc 4.1.2</td>
+ </tr>
+
+ <tr>
+ <td>HP/UX 11i (hppa, 64-bit)</td>
+ <td>aCC A.03.85</td>
+ <td class="works">Frequently Tested</td>
- <td>Reference platform</td>
- </tr>
+ </tr>
+
+ <tr>
+ <td>MacOSX 10.5 Leopard (x86, 32-bit)</td>
+ <td>gcc 4.0.1</td>
+ <td class="works">Frequently Tested</td>
- <tr>
- <td>AIX 6.1 (Power, 64-bit)</td>
+ </tr>
+
+ <tr>
+ <td>MacOSX 10.5 Leopard (x86, 64-bit)</td>
+ <td>gcc 4.0.1</td>
+ <td class="works">Frequently Tested</td>
- <td>IBM VisualAge 9</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>
- <td>Reference platform</td>
- </tr>
+ </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>
- <td>Solaris 10 (Sparc, 32-bit, SunOS 5.10)</td>
+ </tr>
+
+ <tr>
+ <td>Solaris 10 (sparc, 64-bit)</td>
+ <td>gcc 4.2.1</td>
+ <td class="works">Frequently Tested</td>
- <td>Sun Studio 12 <!--(Sun C++ 5.8)--></td>
+ </tr>
+
+ <tr>
+ <td>SuSE 10 (x86, 64-bit)</td>
+ <td>gcc</td>
+ <td class="works">Frequently Tested</td>
- <td>Reference platform</td>
- </tr>
+ </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>
- <td>HP-UX IIiv3 (Itanium, 64-bit)</td>
+ </tr>
+
+ <tr>
+ <td>Windows 2000 Professional (x86, 32-bit)</td>
+ <td>gcc via Cygwin</td>
+ <td class="works">Frequently Tested</td>
- <td>aCC A.6.14</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>
- <td>Reference platform</td>
- </tr>
- <tr>
- <td>AIX 5.3</td>
+ </tr>
+
+ <tr>
+ <td>Windows Server 2008 (x86, 64-bit)</td>
+ <td>MS Visual Studio 9</td>
+ <td class="works">Frequently Tested</td>
- <td>IBM XL C/C++ 8.0</td>
+ </tr>
+
+ <tr>
+ <td>Windows XP Professional (x86, 32-bit)</td>
+ <td>MS Visual Studio 9</td>
+ <td class="works">Frequently Tested</td>
- <td>Regularly tested</td>
- </tr>
- <tr>
- <td>Windows XP</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>
- <td>Microsoft Visual C++ 2005 (8.0)</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>
- <td>Regularly tested</td>
- </tr>
+ </tr>
+
- <tr>
- <td>Red Hat Enterprise Linux 4 Update 4</td>
+<!-- end IBM lab data -->
- <td>gcc 3.4.4</td>
-
- <td>Regularly tested</td>
- </tr>
-
- <tr>
- <td>AIX 5.2</td>
-
- <td>Visual Age C++ 6.0</td>
-
- <td>Regularly tested</td>
- </tr>
-
- <tr>
- <td>Solaris 9 (SunOS 5.9)</td>
-
- <td>Sun Studio 8 (Sun C++ 5.5)</td>
-
- <td>Regularly tested</td>
- </tr>
-
- <tr>
- <td>HP-UX 11.11 (PA-RISC)</td>
-
- <td>aCC A.03.50<br />
- cc B.11.11.08</td>
-
- <td>Regularly tested</td>
- </tr>
-
- <tr>
- <td>Windows 2000 with Cygwin</td>
-
- <td>Microsoft Visual C++ 2003 (7.1)</td>
-
- <td>Regularly tested</td>
- </tr>
-
- <tr>
- <td>Windows Server 2008 x64</td>
-
- <td>Microsoft Visual C++ 2005 (8.0)</td>
-
- <td>Regularly tested</td>
- </tr>
-
- <tr>
- <td>Mac OS X (10.4)</td>
-
- <td>gcc 4.0.1</td>
-
- <td>Regularly tested</td>
- </tr>
-
- <tr>
- <td>Solaris 10</td>
-
- <td>gcc 4.0.3</td>
-
- <td>Regularly tested</td>
- </tr>
-
- <tr>
- <td>SUSE Linux Enterprise Server 9 SP1</td>
-
- <td>Intel C++ Compiler 9.0</td>
-
- <td>Regularly tested</td>
- </tr>
-
- <tr>
+ <tr class="rarely">
<td>z/OS 1.7</td>
<td>cxx 1.7</td>
@@ -661,7 +711,7 @@
<td>Rarely tested</td>
</tr>
- <tr>
+ <tr class="rarely">
<td>Cygwin</td>
<td>gcc 3.4.4</td>
@@ -669,23 +719,16 @@
<td>Rarely tested</td>
</tr>
- <tr>
+ <tr class="rarely">
<td>IBM i family (IBM i, i5/OS, OS/400)</td>
<td>iCC</td>
- <td>Rarely tested</td>
+ <td>Rarely tested (<b>Please read important news on the ICU web site.</b>)</td>
</tr>
- <tr>
- <td>Windows Vista x64</td>
- <td>Microsoft Visual C++ 2005 (8.0)</td>
-
- <td>Rarely tested</td>
- </tr>
-
- <tr>
+ <tr class="rarely">
<td>MinGW</td>
<td>gcc</td>
@@ -693,7 +736,7 @@
<td>Rarely tested</td>
</tr>
- <tr>
+ <tr class="rarely">
<td>NetBSD, OpenBSD, FreeBSD</td>
<td>gcc</td>
@@ -701,7 +744,7 @@
<td>Rarely tested</td>
</tr>
- <tr>
+ <tr class="rarely">
<td>SUSE Linux Enterprise Server 9 (PowerPC)</td>
<td>IBM XL C/C++ 8.0</td>
@@ -709,7 +752,7 @@
<td>Rarely tested</td>
</tr>
- <tr>
+ <tr class="rarely">
<td>QNX</td>
<td>gcc</td>
@@ -717,15 +760,15 @@
<td>Rarely tested</td>
</tr>
- <tr>
- <td>BeOS</td>
+ <tr class="rarely">
+ <td>BeOS/Haiku</td>
<td>gcc</td>
<td>Rarely tested</td>
</tr>
- <tr>
+ <tr class="rarely">
<td>SGI/IRIX</td>
<td>MIPSpro CC</td>
@@ -733,7 +776,7 @@
<td>Rarely tested</td>
</tr>
- <tr>
+ <tr class="rarely">
<td>Tru64 (OSF)</td>
<td>Compaq's cxx compiler</td>
@@ -741,7 +784,7 @@
<td>Rarely tested</td>
</tr>
- <tr>
+ <tr class="rarely">
<td>MP-RAS</td>
<td>NCR MP-RAS C/C++ Compiler</td>
@@ -802,8 +845,8 @@
"#HowToBuildWindowsCommandLine">command line note below</a> if you want to
build from the command line instead.</li>
- <li>Set the active configuration to "Debug" or "Release" (See <a href=
- "#HowToBuildWindowsConfig">Windows configuration note</a> below).</li>
+ <li>Set the active platform to "Win32" or "x64" (See <a href="#HowToBuildWindowsPlatform">Windows platform note</a> below)
+ and configuration to "Debug" or "Release" (See <a href="#HowToBuildWindowsConfig">Windows configuration note</a> below).</li>
<li>Choose the "Build" menu and select "Rebuild Solution". If you want to
build the Debug and Release at the same time, see the <a href=
@@ -835,11 +878,25 @@
Note:</strong></a> You can build ICU from the command line. Assuming that you
have properly installed Microsoft Visual C++ to support command line
execution, you can run the following command, 'devenv.com
- <i><ICU></i>\source\allinone\allinone.sln /build Release'. You can also
+ <i><ICU></i>\source\allinone\allinone.sln /build "Win32|Release"'. You can also
use Cygwin with this compiler to build ICU, and you can refer to the <a href=
"#HowToBuildCygwin">How To Build And Install On Windows with Cygwin</a>
section for more details.</p>
+
+ <p><a name="HowToBuildWindowsPlatform" id=
+ "HowToBuildWindowsPlatform"><strong>Setting Active Platform
+ Note:</strong></a> Even though you are able to select "x64" as the active platform, if your operating system is
+ not a 64 bit version of Windows, the build will fail. To set the active platform, two different possibilities are:</p>
+ <ul>
+ <li>Choose "Build" menu, select "Configuration Manager...", and select
+ "Win32" or "x64" for the Active Platform Solution.</li>
+
+ <li>Another way is to select the desired build configuration from "Solution
+ Platforms" dropdown menu from the standard toolbar. It will say
+ "Win32" or "x64" in the dropdown list.</li>
+ </ul>
+
<p><a name="HowToBuildWindowsConfig" id=
"HowToBuildWindowsConfig"><strong>Setting Active Configuration
Note:</strong></a> To set the active configuration, two different
@@ -855,8 +912,8 @@
</ul>
<p><a name="HowToBuildWindowsBatch" id="HowToBuildWindowsBatch"><strong>Batch
- Configuration Note:</strong></a> If you want to build the Debug and Release
- configurations at the same time, choose "Build" menu, and select "Batch
+ Configuration Note:</strong></a> If you want to build the Win32 and x64 platforms and
+ Debug and Release configurations at the same time, choose "Build" menu, and select "Batch
Build...". Click the "Select All" button, and then click the "Rebuild"
button.</p>
@@ -1011,14 +1068,16 @@
you may want to give runConfigureICU. If you are not using the
runConfigureICU script, or your platform is not supported by the script, you
may need to set your CC, CXX, CFLAGS and CXXFLAGS environment variables, and
- type <tt>"./configure"</tt>. Some of the more frequently used options to
- configure are --disable-64bit-libs to create 32-bit libraries, and --srcdir
- to do out of source builds (build the libraries in the current location).
- HP-UX user's, please see this <a href="#ImportantNotesHPUX">note regarding
- HP-UX multithreaded build issues</a> with newer compilers. Solaris user's,
+ type <tt>"./configure"</tt>.
+ HP-UX users, please see this <a href="#ImportantNotesHPUX">note regarding
+ HP-UX multithreaded build issues</a> with newer compilers. Solaris users,
please see this <a href="#ImportantNotesSolaris">note regarding Solaris
multithreaded build issues</a>.</p>
+ <p>ICU is built with strict compiler warnings enabled by default. If this
+ causes excessive numbers of warnings on your platform, use the --disable-strict
+ option to configure to reduce the warning level.</p>
+
<p><a name="HowToTestWithoutGmake" id="HowToTestWithoutGmake"><strong>Running
The Tests From The Command Line NOTE:</strong></a> You may have to set
certain variables if you with to run test programs individually, that is
@@ -1187,6 +1246,8 @@
<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>
@@ -1245,6 +1306,45 @@
iSeries Information Center</a> for more details regarding the running of multiple threads
on IBM i.</li>
</ol>
+
+ <!-- cross -->
+ <h3><a name="HowToCrossCompileICU" href="#HowToCrossCompileICU" id="HowToCrossCompileICU">How To Cross Compile ICU</a></h3>
+ <p>This section will explain how to build ICU on one platform, but to produce binaries intended to run on another. This is commonly known as a cross compile.</p>
+ <p>Normally, in the course of a build, ICU needs to run the tools that it builds in order to generate and package data and test-data.In a cross compilation setting, ICU is built on a different system from that which it eventually runs on. An example might be, if you are building for a small/headless system (such as an embedded device), or a system where you can't easily run the ICU command line tools (any non-UNIX-like system).</p>
+ <p>To reduce confusion, we will here refer to the "A" and the "B" system.System "A" is the actual system we will be running on- the only requirements on it is are it is able to build ICU from the command line targetting itself (with configure or runConfigureICU), and secondly, that it also contain the correct toolchain for compiling and linking for the resultant platform, referred to as the "B" system.</p>
+ <p>The autoconf docs use the term "build" for A, and "host" for B. More details at: <a href="http://www.gnu.org/software/autoconf/manual/html_node/Specifying-Names.html#Specifying-Names">http://www.gnu.org/software/autoconf/manual/html_node/Specifying-Names.html</a></p>
+ <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>
+ </tr>
+ <tr>
+ <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>
+ </tr>
+ </table>
+
+ <ol>
+ <li>Check out or unpack the ICU source code into the /icu directory.You will have the directories /icu/source, etc.</li>
+ <li>Build ICU in /buildA normally (using runConfigureICU or configure):
+<pre class="samp">cd /buildA
+sh /icu/source/runConfigureICU <strong>MacOSX</strong>
+gnumake
+</pre>
+ </li>
+ <li>Set PATH or other variables as needed, such as CPPFLAGS.</li>
+ <li>Build ICU in /buildB<br>
+ <div class="note"><b>Note:</b> "<code>--with-cross-build</code>" takes an absolute path.</div>
+<pre class="samp">cd /buildB
+sh /icu/source/configure --host=<strong>i586-pc-haiku</strong> --with-cross-build=<strong>/buildA</strong>
+gnumake</pre>
+ </li>
+ <li>Tests and testdata can be built with "gnumake tests".</li>
+ </ol>
+ <!-- end cross -->
+
<!-- end build environment -->
<h2><a name="HowToPackage" href="#HowToPackage" id="HowToPackage">How To
@@ -1281,7 +1381,7 @@
"#SourceCode">ICU Source Code Organization</a> section of this readme.html
gives a more complete description of the libraries.</p>
- <table border="1" cellpadding="3" summary=
+ <table class="docTable" summary=
"ICU has several libraries for you to use.">
<caption>
Here is an example of libraries that are frequently packaged.
@@ -1686,7 +1786,7 @@
</ul>
<hr />
- <p>Copyright © 1997-2008 International Business Machines Corporation and
+ <p>Copyright © 1997-2009 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-05-09 02:23:54 UTC (rev 182)
+++ trunk/unicode-license.txt 2009-05-09 02:24:06 UTC (rev 183)
@@ -16,7 +16,7 @@
COPYRIGHT AND PERMISSION NOTICE
- Copyright © 1991-2007 Unicode, Inc. All rights reserved. Distributed under
+ Copyright © 1991-2008 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