From 7fe330119e6b5503232cfd780869f5ff685ecdea Mon Sep 17 00:00:00 2001 From: Craig Cornelius Date: Thu, 10 Mar 2022 20:56:59 +0000 Subject: [PATCH] ICU-21900 ICU4C 71 change report See #2024. Includes update to generator that removes the minor version indication from the reports. --- icu4c/APIChangeReport.html | 1182 ++--------------- icu4c/APIChangeReport.md | 729 ++-------- .../com/ibm/icu/dev/tools/docs/StableAPI.java | 4 + 3 files changed, 273 insertions(+), 1642 deletions(-) diff --git a/icu4c/APIChangeReport.html b/icu4c/APIChangeReport.html index f262ed985cb..e598ba9288b 100644 --- a/icu4c/APIChangeReport.html +++ b/icu4c/APIChangeReport.html @@ -5,31 +5,31 @@ --> -ICU4C API Comparison: ICU 69 with ICU 70 +ICU4C API Comparison: ICU 70 with ICU 71 -

ICU4C API Comparison: ICU 69 with ICU 70

+

ICU4C API Comparison: ICU 70 with ICU 71

-

Removed from ICU 69

+

Removed from ICU 70

- + - - -
FileAPIICU 69ICU 70FileAPIICU 70ICU 71
tmutfmt.hbool icu::TimeUnitFormat::operator!=(const Format&) constDeprecated
ICU 53
(missing)
-

(jump back to top)
-

Deprecated or Obsoleted in ICU 70

+

Deprecated or Obsoleted in ICU 71

- + - + - + - +
FileAPIICU 69ICU 70FileAPIICU 70ICU 71
timezone.hstatic StringEnumeration* icu::TimeZone::createEnumeration()Stable
ICU 2.4
Deprecated
-ICU 70
numberformatter.hconst char* icu::number::FormattedNumber::getGender(UErrorCode&) constInternal
ICU 69
Deprecated
+
timezone.hstatic StringEnumeration* icu::TimeZone::createEnumeration(const char*)Stable
ICU 2.4
Deprecated
-ICU 70
ucnv.hUConverter* ucnv_safeClone(const UConverter*, void*, int32_t*, UErrorCode*)Stable
ICU 2.0
Deprecated
+ICU 71
timezone.hstatic StringEnumeration* icu::TimeZone::createEnumeration(int32_t)Stable
ICU 2.4
Deprecated
-ICU 70
ucol.hUCollator* ucol_safeClone(const UCollator*, void*, int32_t*, UErrorCode*)Stable
ICU 2.0
Deprecated
+ICU 71

(jump back to top)
-

Changed in ICU 70 (old, new)

+

Changed in ICU 71 (old, new)

- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
FileAPIICU 69ICU 70FileAPIICU 70ICU 71
dtitvfmt.hUDisplayContext icu::DateIntervalFormat::getContext(UDisplayContextType, UErrorCode&) constDraft→Stable
ICU 68
basictz.hvoid icu::BasicTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→Stable
ICU 69
dtitvfmt.hvoid icu::DateIntervalFormat::setContext(UDisplayContext, UErrorCode&)Draft→Stable
ICU 68
measunit.hMeasureUnit icu::MeasureUnit::withPrefix(UMeasurePrefix, UErrorCode&) constDraft→Stable
ICU 69
localematcher.hBuilder& icu::LocaleMatcher::Builder::setMaxDistance(const Locale&, const Locale&)Draft→Stable
ICU 68
measunit.hUMeasurePrefix icu::MeasureUnit::getPrefix(UErrorCode&) constDraft→Stable
ICU 69
localematcher.hBuilder& icu::LocaleMatcher::Builder::setNoDefaultLocale()Draft→Stable
ICU 68
measunit.hstatic MeasureUnit icu::MeasureUnit::getMilligramOfglucosePerDeciliter()Draft→Stable
ICU 69
localematcher.hbool icu::LocaleMatcher::isMatch(const Locale&, const Locale&, UErrorCode&) constDraft→Stable
ICU 68
measunit.hstatic MeasureUnit* icu::MeasureUnit::createMilligramOfglucosePerDeciliter(UErrorCode&)Draft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getCandela()Draft→Stable
ICU 68
numberformatter.hPrecision icu::number::FractionPrecision::withSignificantDigits(int32_t, int32_t, UNumberRoundingPriority) constDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getDessertSpoon()Draft→Stable
ICU 68
numberformatter.hPrecision icu::number::Precision::trailingZeroDisplay(UNumberTrailingZeroDisplay) constDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getDessertSpoonImperial()Draft→Stable
ICU 68
numberformatter.hconst char* icu::number::FormattedNumber::getGender(UErrorCode&) constInternal
ICU 69
Deprecated
+
measunit.hstatic MeasureUnit icu::MeasureUnit::getDot()Draft→Stable
ICU 68
rbtz.hvoid icu::RuleBasedTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getDram()Draft→Stable
ICU 68
simpletz.hvoid icu::SimpleTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getDrop()Draft→Stable
ICU 68
ubrk.hUBreakIterator* ubrk_clone(const UBreakIterator*, UErrorCode*)Draft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getEarthRadius()Draft→Stable
ICU 68
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_FORMERDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getGrain()Draft→Stable
ICU 68
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_LATTERDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getJigger()Draft→Stable
ICU 68
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_FORMERDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getLumen()Draft→Stable
ICU 68
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_LATTERDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getPinch()Draft→Stable
ICU 68
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_FORMERDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getQuartImperial()Draft→Stable
ICU 68
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_LATTERDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createCandela(UErrorCode&)Draft→Stable
ICU 68
ucal.hvoid ucal_getTimeZoneOffsetFromLocal(const UCalendar*, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t*, int32_t*, UErrorCode*)Draft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createDessertSpoon(UErrorCode&)Draft→Stable
ICU 68
ucnv.hUConverter* ucnv_safeClone(const UConverter*, void*, int32_t*, UErrorCode*)Stable
ICU 2.0
Deprecated
+ICU 71
measunit.hstatic MeasureUnit* icu::MeasureUnit::createDessertSpoonImperial(UErrorCode&)Draft→Stable
ICU 68
ucol.hUCollator* ucol_safeClone(const UCollator*, void*, int32_t*, UErrorCode*)Stable
ICU 2.0
Deprecated
+ICU 71
measunit.hstatic MeasureUnit* icu::MeasureUnit::createDot(UErrorCode&)Draft→Stable
ICU 68
uniset.hUnicodeSet& icu::UnicodeSet::retain(const UnicodeString&)Draft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createDram(UErrorCode&)Draft→Stable
ICU 68
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_CEILINGDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createDrop(UErrorCode&)Draft→Stable
ICU 68
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_FLOORDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createEarthRadius(UErrorCode&)Draft→Stable
ICU 68
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_ODDDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createGrain(UErrorCode&)Draft→Stable
ICU 68
unumberformatter.henum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_RELAXEDDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createJigger(UErrorCode&)Draft→Stable
ICU 68
unumberformatter.henum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_STRICTDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createLumen(UErrorCode&)Draft→Stable
ICU 68
unumberformatter.henum UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_NEGATIVEDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createPinch(UErrorCode&)Draft→Stable
ICU 68
unumberformatter.henum UNumberSignDisplay::UNUM_SIGN_NEGATIVEDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createQuartImperial(UErrorCode&)Draft→Stable
ICU 68
unumberformatter.henum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_AUTODraft→Stable
ICU 69
measunit.hstd::pair< LocalArray< MeasureUnit >, int32_t > icu::MeasureUnit::splitToSingleUnits(UErrorCode&) constDraft→Stable
ICU 68
unumberformatter.henum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_HIDE_IF_WHOLEDraft→Stable
ICU 69
numberformatter.hDerived icu::number::NumberFormatterSettings< Derived >::usage(StringPiece) const&Draft→Stable
ICU 68
uset.hvoid uset_complementAllCodePoints(USet*, const UChar*, int32_t)Draft→Stable
ICU 69
numberformatter.hDerived icu::number::NumberFormatterSettings< Derived >::usage(StringPiece)&&Draft→Stable
ICU 68
uset.hvoid uset_complementRange(USet*, UChar32, UChar32)Draft→Stable
ICU 69
numberformatter.hMeasureUnit icu::number::FormattedNumber::getOutputUnit(UErrorCode&) constDraft→Stable
ICU 68
uset.hvoid uset_complementString(USet*, const UChar*, int32_t)Draft→Stable
ICU 69
numberrangeformatter.hstd::pair< StringClass, StringClass > icu::number::FormattedNumberRange::getDecimalNumbers(UErrorCode&) constDraft→Stable
ICU 68
uset.hvoid uset_removeAllCodePoints(USet*, const UChar*, int32_t)Draft→Stable
ICU 69
plurrule.hUnicodeString icu::PluralRules::select(const number::FormattedNumberRange&, UErrorCode&) constDraft→Stable
ICU 68
uset.hvoid uset_retainAllCodePoints(USet*, const UChar*, int32_t)Draft→Stable
ICU 69
timezone.hstatic StringEnumeration* icu::TimeZone::createEnumeration()Stable
ICU 2.4
Deprecated
-ICU 70
uset.hvoid uset_retainString(USet*, const UChar*, int32_t)Draft→Stable
ICU 69
timezone.hstatic StringEnumeration* icu::TimeZone::createEnumeration(const char*)Stable
ICU 2.4
Deprecated
-ICU 70
timezone.hstatic StringEnumeration* icu::TimeZone::createEnumeration(int32_t)Stable
ICU 2.4
Deprecated
-ICU 70
ucurr.henum UCurrNameStyle::UCURR_FORMAL_SYMBOL_NAMEDraft→Stable
ICU 68
ucurr.henum UCurrNameStyle::UCURR_VARIANT_SYMBOL_NAMEDraft→Stable
ICU 68
udateintervalformat.hUDisplayContext udtitvfmt_getContext(const UDateIntervalFormat*, UDisplayContextType, UErrorCode*)Draft→Stable
ICU 68
udateintervalformat.hvoid udtitvfmt_setContext(UDateIntervalFormat*, UDisplayContext, UErrorCode*)Draft→Stable
ICU 68
unum.henum UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_AUTODraft→Stable
ICU 68
unum.henum UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_MIN2Draft→Stable
ICU 68
unumberformatter.henum UNumberUnitWidth::UNUM_UNIT_WIDTH_FORMALDraft→Stable
ICU 68
unumberformatter.henum UNumberUnitWidth::UNUM_UNIT_WIDTH_VARIANTDraft→Stable
ICU 68
unumberformatter.hint32_t unumf_resultToDecimalNumber(const UFormattedNumber*, char*, int32_t, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hUFormattedNumberRange* unumrf_openResult(UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hUNumberRangeFormatter* unumrf_openForSkeletonWithCollapseAndIdentityFallback(const UChar*, int32_t, UNumberRangeCollapse, UNumberRangeIdentityFallback, const char*, UParseError*, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hUNumberRangeIdentityResult unumrf_resultGetIdentityResult(const UFormattedNumberRange*, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hconst UFormattedValue* unumrf_resultAsValue(const UFormattedNumberRange*, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hint32_t unumrf_resultGetFirstDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hint32_t unumrf_resultGetSecondDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hvoid unumrf_close(UNumberRangeFormatter*)Draft→Stable
ICU 68
unumberrangeformatter.hvoid unumrf_closeResult(UFormattedNumberRange*)Draft→Stable
ICU 68
unumberrangeformatter.hvoid unumrf_formatDecimalRange(const UNumberRangeFormatter*, const char*, int32_t, const char*, int32_t, UFormattedNumberRange*, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hvoid unumrf_formatDoubleRange(const UNumberRangeFormatter*, double, double, UFormattedNumberRange*, UErrorCode*)Draft→Stable
ICU 68
upluralrules.hint32_t uplrules_selectForRange(const UPluralRules*, const struct UFormattedNumberRange*, UChar*, int32_t, UErrorCode*)Draft→Stable
ICU 68
vtzone.hvoid icu::VTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→Stable
ICU 69

(jump back to top)
-

Promoted to stable in ICU 70

+

Promoted to stable in ICU 71

- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
FileAPIICU 69ICU 70FileAPIICU 70ICU 71
dtitvfmt.hUDisplayContext icu::DateIntervalFormat::getContext(UDisplayContextType, UErrorCode&) constDraft→Stable
ICU 68
basictz.hvoid icu::BasicTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→Stable
ICU 69
dtitvfmt.hvoid icu::DateIntervalFormat::setContext(UDisplayContext, UErrorCode&)Draft→Stable
ICU 68
measunit.hMeasureUnit icu::MeasureUnit::withPrefix(UMeasurePrefix, UErrorCode&) constDraft→Stable
ICU 69
localematcher.hBuilder& icu::LocaleMatcher::Builder::setMaxDistance(const Locale&, const Locale&)Draft→Stable
ICU 68
measunit.hUMeasurePrefix icu::MeasureUnit::getPrefix(UErrorCode&) constDraft→Stable
ICU 69
localematcher.hBuilder& icu::LocaleMatcher::Builder::setNoDefaultLocale()Draft→Stable
ICU 68
measunit.hstatic MeasureUnit icu::MeasureUnit::getMilligramOfglucosePerDeciliter()Draft→Stable
ICU 69
localematcher.hbool icu::LocaleMatcher::isMatch(const Locale&, const Locale&, UErrorCode&) constDraft→Stable
ICU 68
measunit.hstatic MeasureUnit* icu::MeasureUnit::createMilligramOfglucosePerDeciliter(UErrorCode&)Draft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getCandela()Draft→Stable
ICU 68
numberformatter.hPrecision icu::number::FractionPrecision::withSignificantDigits(int32_t, int32_t, UNumberRoundingPriority) constDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getDessertSpoon()Draft→Stable
ICU 68
numberformatter.hPrecision icu::number::Precision::trailingZeroDisplay(UNumberTrailingZeroDisplay) constDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getDessertSpoonImperial()Draft→Stable
ICU 68
rbtz.hvoid icu::RuleBasedTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getDot()Draft→Stable
ICU 68
simpletz.hvoid icu::SimpleTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getDram()Draft→Stable
ICU 68
ubrk.hUBreakIterator* ubrk_clone(const UBreakIterator*, UErrorCode*)Draft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getDrop()Draft→Stable
ICU 68
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_FORMERDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getEarthRadius()Draft→Stable
ICU 68
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_LATTERDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getGrain()Draft→Stable
ICU 68
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_FORMERDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getJigger()Draft→Stable
ICU 68
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_LATTERDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getLumen()Draft→Stable
ICU 68
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_FORMERDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getPinch()Draft→Stable
ICU 68
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_LATTERDraft→Stable
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getQuartImperial()Draft→Stable
ICU 68
ucal.hvoid ucal_getTimeZoneOffsetFromLocal(const UCalendar*, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t*, int32_t*, UErrorCode*)Draft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createCandela(UErrorCode&)Draft→Stable
ICU 68
ucnv.hUConverter* ucnv_clone(const UConverter*, UErrorCode*)(missing)Stable
+ICU 71
(Born Stable)
measunit.hstatic MeasureUnit* icu::MeasureUnit::createDessertSpoon(UErrorCode&)Draft→Stable
ICU 68
ucol.hUCollator* ucol_clone(const UCollator*, UErrorCode*)(missing)Stable
+ICU 71
(Born Stable)
measunit.hstatic MeasureUnit* icu::MeasureUnit::createDessertSpoonImperial(UErrorCode&)Draft→Stable
ICU 68
uniset.hUnicodeSet& icu::UnicodeSet::retain(const UnicodeString&)Draft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createDot(UErrorCode&)Draft→Stable
ICU 68
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_CEILINGDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createDram(UErrorCode&)Draft→Stable
ICU 68
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_FLOORDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createDrop(UErrorCode&)Draft→Stable
ICU 68
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_ODDDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createEarthRadius(UErrorCode&)Draft→Stable
ICU 68
unumberformatter.henum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_RELAXEDDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createGrain(UErrorCode&)Draft→Stable
ICU 68
unumberformatter.henum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_STRICTDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createJigger(UErrorCode&)Draft→Stable
ICU 68
unumberformatter.henum UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_NEGATIVEDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createLumen(UErrorCode&)Draft→Stable
ICU 68
unumberformatter.henum UNumberSignDisplay::UNUM_SIGN_NEGATIVEDraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createPinch(UErrorCode&)Draft→Stable
ICU 68
unumberformatter.henum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_AUTODraft→Stable
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createQuartImperial(UErrorCode&)Draft→Stable
ICU 68
unumberformatter.henum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_HIDE_IF_WHOLEDraft→Stable
ICU 69
measunit.hstd::pair< LocalArray< MeasureUnit >, int32_t > icu::MeasureUnit::splitToSingleUnits(UErrorCode&) constDraft→Stable
ICU 68
uset.hvoid uset_complementAllCodePoints(USet*, const UChar*, int32_t)Draft→Stable
ICU 69
numberformatter.hDerived icu::number::NumberFormatterSettings< Derived >::usage(StringPiece) const&Draft→Stable
ICU 68
uset.hvoid uset_complementRange(USet*, UChar32, UChar32)Draft→Stable
ICU 69
numberformatter.hDerived icu::number::NumberFormatterSettings< Derived >::usage(StringPiece)&&Draft→Stable
ICU 68
uset.hvoid uset_complementString(USet*, const UChar*, int32_t)Draft→Stable
ICU 69
numberformatter.hMeasureUnit icu::number::FormattedNumber::getOutputUnit(UErrorCode&) constDraft→Stable
ICU 68
uset.hvoid uset_removeAllCodePoints(USet*, const UChar*, int32_t)Draft→Stable
ICU 69
numberrangeformatter.hstd::pair< StringClass, StringClass > icu::number::FormattedNumberRange::getDecimalNumbers(UErrorCode&) constDraft→Stable
ICU 68
uset.hvoid uset_retainAllCodePoints(USet*, const UChar*, int32_t)Draft→Stable
ICU 69
plurrule.hUnicodeString icu::PluralRules::select(const number::FormattedNumberRange&, UErrorCode&) constDraft→Stable
ICU 68
uset.hvoid uset_retainString(USet*, const UChar*, int32_t)Draft→Stable
ICU 69
timezone.hstatic StringEnumeration* icu::TimeZone::createEnumeration(UErrorCode&)(missing)Stable
-ICU 70
(Born Stable)
timezone.hstatic StringEnumeration* icu::TimeZone::createEnumerationForRawOffset(int32_t, UErrorCode&)(missing)Stable
-ICU 70
(Born Stable)
timezone.hstatic StringEnumeration* icu::TimeZone::createEnumerationForRegion(const char*, UErrorCode&)(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_ARABIC_EXTENDED_B(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_CYPRO_MINOAN(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_ETHIOPIC_EXTENDED_B(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_KANA_EXTENDED_B(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_LATIN_EXTENDED_F(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_LATIN_EXTENDED_G(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_OLD_UYGHUR(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_TANGSA(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_TOTO(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_VITHKUQI(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_ZNAMENNY_MUSICAL_NOTATION(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UJoiningGroup::U_JG_THIN_YEH(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UJoiningGroup::U_JG_VERTICAL_TAIL(missing)Stable
-ICU 70
(Born Stable)
ucurr.henum UCurrNameStyle::UCURR_FORMAL_SYMBOL_NAMEDraft→Stable
ICU 68
ucurr.henum UCurrNameStyle::UCURR_VARIANT_SYMBOL_NAMEDraft→Stable
ICU 68
udateintervalformat.hUDisplayContext udtitvfmt_getContext(const UDateIntervalFormat*, UDisplayContextType, UErrorCode*)Draft→Stable
ICU 68
udateintervalformat.hvoid udtitvfmt_setContext(UDateIntervalFormat*, UDisplayContext, UErrorCode*)Draft→Stable
ICU 68
unum.henum UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_AUTODraft→Stable
ICU 68
unum.henum UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_MIN2Draft→Stable
ICU 68
unumberformatter.henum UNumberUnitWidth::UNUM_UNIT_WIDTH_FORMALDraft→Stable
ICU 68
unumberformatter.henum UNumberUnitWidth::UNUM_UNIT_WIDTH_VARIANTDraft→Stable
ICU 68
unumberformatter.hint32_t unumf_resultToDecimalNumber(const UFormattedNumber*, char*, int32_t, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hUFormattedNumberRange* unumrf_openResult(UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hUNumberRangeFormatter* unumrf_openForSkeletonWithCollapseAndIdentityFallback(const UChar*, int32_t, UNumberRangeCollapse, UNumberRangeIdentityFallback, const char*, UParseError*, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hUNumberRangeIdentityResult unumrf_resultGetIdentityResult(const UFormattedNumberRange*, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hconst UFormattedValue* unumrf_resultAsValue(const UFormattedNumberRange*, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hint32_t unumrf_resultGetFirstDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hint32_t unumrf_resultGetSecondDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hvoid unumrf_close(UNumberRangeFormatter*)Draft→Stable
ICU 68
unumberrangeformatter.hvoid unumrf_closeResult(UFormattedNumberRange*)Draft→Stable
ICU 68
unumberrangeformatter.hvoid unumrf_formatDecimalRange(const UNumberRangeFormatter*, const char*, int32_t, const char*, int32_t, UFormattedNumberRange*, UErrorCode*)Draft→Stable
ICU 68
unumberrangeformatter.hvoid unumrf_formatDoubleRange(const UNumberRangeFormatter*, double, double, UFormattedNumberRange*, UErrorCode*)Draft→Stable
ICU 68
upluralrules.hint32_t uplrules_selectForRange(const UPluralRules*, const struct UFormattedNumberRange*, UChar*, int32_t, UErrorCode*)Draft→Stable
ICU 68
uscript.henum UScriptCode::USCRIPT_CYPRO_MINOAN(missing)Stable
-ICU 70
(Born Stable)
uscript.henum UScriptCode::USCRIPT_OLD_UYGHUR(missing)Stable
-ICU 70
(Born Stable)
uscript.henum UScriptCode::USCRIPT_TANGSA(missing)Stable
-ICU 70
(Born Stable)
uscript.henum UScriptCode::USCRIPT_TOTO(missing)Stable
-ICU 70
(Born Stable)
uscript.henum UScriptCode::USCRIPT_VITHKUQI(missing)Stable
-ICU 70
(Born Stable)
utypes.henum UErrorCode::U_INPUT_TOO_LONG_ERROR(missing)Stable
-ICU 68
vtzone.hvoid icu::VTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→Stable
ICU 69

(jump back to top)
-

Added in ICU 70

+

Added in ICU 71

- + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
FileAPIICU 69ICU 70FileAPIICU 70ICU 71
dcfmtsym.henum icu::DecimalFormatSymbols::ENumberFormatSymbol::kApproximatelySignSymbol(missing)Internal
-
dtptngen.hconst UnicodeString& icu::DateTimePatternGenerator::getDateTimeFormat(UDateFormatStyle, UErrorCode&) const(missing)Draft
+ICU 71
measunit.hstatic MeasureUnit icu::MeasureUnit::getItem()(missing)Draft
-ICU 70
dtptngen.hvoid icu::DateTimePatternGenerator::setDateTimeFormat(UDateFormatStyle, const UnicodeString&, UErrorCode&)(missing)Draft
+ICU 71
measunit.hstatic MeasureUnit icu::MeasureUnit::getKilowattHourPer100Kilometer()(missing)Draft
-ICU 70
numberformatter.hNounClass icu::number::FormattedNumber::getNounClass(UErrorCode&) const(missing)Draft
+ICU 71
measunit.hstatic MeasureUnit* icu::MeasureUnit::createItem(UErrorCode&)(missing)Draft
-ICU 70
numberformatter.hstatic IncrementPrecision icu::number::Precision::incrementExact(uint64_t, int16_t)(missing)Draft
+ICU 71
measunit.hstatic MeasureUnit* icu::MeasureUnit::createKilowattHourPer100Kilometer(UErrorCode&)(missing)Draft
-ICU 70
ucnv.hUConverter* ucnv_clone(const UConverter*, UErrorCode*)(missing)Stable
+ICU 71
(Born Stable)
numberformatter.hconst DecimalFormatSymbols* icu::number::LocalizedNumberFormatter::getDecimalFormatSymbols() const(missing)Internal
-
ucol.hUCollator* ucol_clone(const UCollator*, UErrorCode*)(missing)Stable
+ICU 71
(Born Stable)
numberrangeformatter.hicu::number::FormattedNumberRange::FormattedNumberRange()(missing)Draft
-ICU 70
udatpg.hconst UChar* udatpg_getDateTimeFormatForStyle(const UDateTimePatternGenerator*, UDateFormatStyle, int32_t*, UErrorCode*)(missing)Draft
+ICU 71
timezone.hstatic StringEnumeration* icu::TimeZone::createEnumeration(UErrorCode&)(missing)Stable
-ICU 70
(Born Stable)udatpg.hvoid udatpg_setDateTimeFormatForStyle(UDateTimePatternGenerator*, UDateFormatStyle, const UChar*, int32_t, UErrorCode*)(missing)Draft
+ICU 71
timezone.hstatic StringEnumeration* icu::TimeZone::createEnumerationForRawOffset(int32_t, UErrorCode&)(missing)Stable
-ICU 70
(Born Stable)
timezone.hstatic StringEnumeration* icu::TimeZone::createEnumerationForRegion(const char*, UErrorCode&)(missing)Stable
-ICU 70
(Born Stable)
uchar.hbool u_stringHasBinaryProperty(const UChar*, int32_t, UProperty)(missing)Draft
-ICU 70
uchar.henum UBlockCode::UBLOCK_ARABIC_EXTENDED_B(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_CYPRO_MINOAN(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_ETHIOPIC_EXTENDED_B(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_KANA_EXTENDED_B(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_LATIN_EXTENDED_F(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_LATIN_EXTENDED_G(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_OLD_UYGHUR(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_TANGSA(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_TOTO(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_VITHKUQI(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UBlockCode::UBLOCK_ZNAMENNY_MUSICAL_NOTATION(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UJoiningGroup::U_JG_THIN_YEH(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UJoiningGroup::U_JG_VERTICAL_TAIL(missing)Stable
-ICU 70
(Born Stable)
uchar.henum UProperty::UCHAR_BASIC_EMOJI(missing)Draft
-ICU 70
uchar.henum UProperty::UCHAR_EMOJI_KEYCAP_SEQUENCE(missing)Draft
-ICU 70
uchar.henum UProperty::UCHAR_RGI_EMOJI_FLAG_SEQUENCE(missing)Draft
-ICU 70
uchar.henum UProperty::UCHAR_RGI_EMOJI_MODIFIER_SEQUENCE(missing)Draft
-ICU 70
uchar.henum UProperty::UCHAR_RGI_EMOJI_TAG_SEQUENCE(missing)Draft
-ICU 70
uchar.henum UProperty::UCHAR_RGI_EMOJI_ZWJ_SEQUENCE(missing)Draft
-ICU 70
uchar.henum UProperty::UCHAR_RGI_EMOJI(missing)Draft
-ICU 70
udat.henum UDateFormatSymbolType::UDAT_NARROW_QUARTERS(missing)Draft
-ICU 70
udat.henum UDateFormatSymbolType::UDAT_STANDALONE_NARROW_QUARTERS(missing)Draft
-ICU 70
uniset.hbool icu::UnicodeSet::hasStrings() const(missing)Draft
-ICU 70
unum.henum UNumberFormatSymbol::UNUM_APPROXIMATELY_SIGN_SYMBOL(missing)Internal
-
uscript.henum UScriptCode::USCRIPT_CYPRO_MINOAN(missing)Stable
-ICU 70
(Born Stable)
uscript.henum UScriptCode::USCRIPT_OLD_UYGHUR(missing)Stable
-ICU 70
(Born Stable)
uscript.henum UScriptCode::USCRIPT_TANGSA(missing)Stable
-ICU 70
(Born Stable)
uscript.henum UScriptCode::USCRIPT_TOTO(missing)Stable
-ICU 70
(Born Stable)
uscript.henum UScriptCode::USCRIPT_VITHKUQI(missing)Stable
-ICU 70
(Born Stable)
uset.hbool uset_hasStrings(const USet*)(missing)Draft
-ICU 70
uset.hint32_t uset_getRangeCount(const USet*)(missing)Draft
-ICU 70
usetiter.hUnicodeSetIterator& icu::UnicodeSetIterator::skipToStrings()(missing)Draft
-ICU 70
utypes.henum UErrorCode::U_INPUT_TOO_LONG_ERROR(missing)Stable
-ICU 68
unum.henum UNumberFormatFields::UNUM_APPROXIMATELY_SIGN_FIELD(missing)Draft
+ICU 71

(jump back to top)
-

Other existing drafts in ICU 70

+

Other existing drafts in ICU 71

- + - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - - - - - - - - - - - - - - - - +
FileAPIICU 69ICU 70FileAPIICU 70ICU 71
basictz.hvoid icu::BasicTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft
ICU 69
measfmt.hvoid icu::MeasureFormat::parseObject(const UnicodeString&, Formattable&, ParsePosition&) constDraft
ICU 53
measunit.hMeasureUnit icu::MeasureUnit::withPrefix(UMeasurePrefix, UErrorCode&) constDraft
ICU 69
measunit.hUMeasurePrefix icu::MeasureUnit::getPrefix(UErrorCode&) constDraft
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getItem()Draft
ICU 70
measunit.hstatic MeasureUnit icu::MeasureUnit::getMilligramOfglucosePerDeciliter()Draft
ICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getKilowattHourPer100Kilometer()Draft
ICU 70
measunit.hstatic MeasureUnit* icu::MeasureUnit::createMilligramOfglucosePerDeciliter(UErrorCode&)Draft
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createItem(UErrorCode&)Draft
ICU 70
numberformatter.hPrecision icu::number::FractionPrecision::withSignificantDigits(int32_t, int32_t, UNumberRoundingPriority) constDraft
ICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createKilowattHourPer100Kilometer(UErrorCode&)Draft
ICU 70
numberformatter.hPrecision icu::number::Precision::trailingZeroDisplay(UNumberTrailingZeroDisplay) constDraft
ICU 69
numberrangeformatter.hicu::number::FormattedNumberRange::FormattedNumberRange()Draft
ICU 70
rbtz.hvoid icu::RuleBasedTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft
ICU 69
uchar.hbool u_stringHasBinaryProperty(const UChar*, int32_t, UProperty)Draft
ICU 70
simpletz.hvoid icu::SimpleTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft
ICU 69
uchar.henum UProperty::UCHAR_BASIC_EMOJIDraft
ICU 70
ubrk.hUBreakIterator* ubrk_clone(const UBreakIterator*, UErrorCode*)Draft
ICU 69
uchar.henum UProperty::UCHAR_EMOJI_KEYCAP_SEQUENCEDraft
ICU 70
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_FORMERDraft
ICU 69
uchar.henum UProperty::UCHAR_RGI_EMOJI_FLAG_SEQUENCEDraft
ICU 70
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_LATTERDraft
ICU 69
uchar.henum UProperty::UCHAR_RGI_EMOJI_MODIFIER_SEQUENCEDraft
ICU 70
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_FORMERDraft
ICU 69
uchar.henum UProperty::UCHAR_RGI_EMOJI_TAG_SEQUENCEDraft
ICU 70
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_LATTERDraft
ICU 69
uchar.henum UProperty::UCHAR_RGI_EMOJI_ZWJ_SEQUENCEDraft
ICU 70
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_FORMERDraft
ICU 69
uchar.henum UProperty::UCHAR_RGI_EMOJIDraft
ICU 70
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_LATTERDraft
ICU 69
udat.henum UDateFormatSymbolType::UDAT_NARROW_QUARTERSDraft
ICU 70
ucal.hvoid ucal_getTimeZoneOffsetFromLocal(const UCalendar*, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t*, int32_t*, UErrorCode*)Draft
ICU 69
udat.henum UDateFormatSymbolType::UDAT_STANDALONE_NARROW_QUARTERSDraft
ICU 70
uformattedvalue.henum UFieldCategory::UFIELD_CATEGORY_NUMBER_RANGE_SPANDraft
ICU 69
uniset.hUnicodeSet& icu::UnicodeSet::retain(const UnicodeString&)Draft
ICU 69
uniset.hbool icu::UnicodeSet::hasStrings() constDraft
ICU 70
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_CEILINGDraft
ICU 69
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_FLOORDraft
ICU 69
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_ODDDraft
ICU 69
unumberformatter.henum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_RELAXEDDraft
ICU 69
unumberformatter.henum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_STRICTDraft
ICU 69
unumberformatter.henum UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_NEGATIVEDraft
ICU 69
unumberformatter.henum UNumberSignDisplay::UNUM_SIGN_NEGATIVEDraft
ICU 69
unumberformatter.henum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_AUTODraft
ICU 69
unumberformatter.henum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_HIDE_IF_WHOLEDraft
ICU 69
uregex.henum URegexpFlag::UREGEX_CANON_EQDraft
ICU 2.4
uset.hbool uset_hasStrings(const USet*)Draft
ICU 70
uset.hvoid uset_complementAllCodePoints(USet*, const UChar*, int32_t)Draft
ICU 69
uset.hint32_t uset_getRangeCount(const USet*)Draft
ICU 70
uset.hvoid uset_complementRange(USet*, UChar32, UChar32)Draft
ICU 69
uset.hvoid uset_complementString(USet*, const UChar*, int32_t)Draft
ICU 69
uset.hvoid uset_removeAllCodePoints(USet*, const UChar*, int32_t)Draft
ICU 69
uset.hvoid uset_retainAllCodePoints(USet*, const UChar*, int32_t)Draft
ICU 69
uset.hvoid uset_retainString(USet*, const UChar*, int32_t)Draft
ICU 69
vtzone.hvoid icu::VTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft
ICU 69
usetiter.hUnicodeSetIterator& icu::UnicodeSetIterator::skipToStrings()Draft
ICU 70
@@ -857,502 +454,13 @@ This section shows cases where the signature was "simplified" for the sake of comparison. The simplified form is in bold, followed by all possible variations in "original" form.
- +

(jump back to top)

-Contents generated by StableAPI tool on Wed Sep 29 11:59:05 PDT 2021
+Contents generated by StableAPI tool on Thu Mar 10 11:12:56 PST 2022
Copyright © 2017 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html
diff --git a/icu4c/APIChangeReport.md b/icu4c/APIChangeReport.md index 07cb985bd3c..239bbd56820 100644 --- a/icu4c/APIChangeReport.md +++ b/icu4c/APIChangeReport.md @@ -5,659 +5,178 @@ License & terms of use: http://www.unicode.org/copyright.html --> -# ICU4C API Comparison: ICU 69 with ICU 70 +# ICU4C API Comparison: ICU 70 with ICU 71 > _Note_ Markdown format of this document is new for ICU 65. -- [Removed from ICU 69](#removed) -- [Deprecated or Obsoleted in ICU 70](#deprecated) -- [Changed in ICU 70](#changed) -- [Promoted to stable in ICU 70](#promoted) -- [Added in ICU 70](#added) -- [Other existing drafts in ICU 70](#other) +- [Removed from ICU 70](#removed) +- [Deprecated or Obsoleted in ICU 71](#deprecated) +- [Changed in ICU 71](#changed) +- [Promoted to stable in ICU 71](#promoted) +- [Added in ICU 71](#added) +- [Other existing drafts in ICU 71](#other) - [Signature Simplifications](#simplifications) ## Removed -Removed from ICU 69 +Removed from ICU 70 -| File | API | ICU 69 | ICU 70 | +| File | API | ICU 70 | ICU 71 | |---|---|---|---| -| tmutfmt.h | bool icu::TimeUnitFormat::operator!=(const Format&) const | DeprecatedICU 53 | (missing) ## Deprecated -Deprecated or Obsoleted in ICU 70 +Deprecated or Obsoleted in ICU 71 -| File | API | ICU 69 | ICU 70 | +| File | API | ICU 70 | ICU 71 | |---|---|---|---| -| timezone.h | static StringEnumeration* icu::TimeZone::createEnumeration() | StableICU 2.4 | DeprecatedICU 70 -| timezone.h | static StringEnumeration* icu::TimeZone::createEnumeration(const char*) | StableICU 2.4 | DeprecatedICU 70 -| timezone.h | static StringEnumeration* icu::TimeZone::createEnumeration(int32_t) | StableICU 2.4 | DeprecatedICU 70 +| numberformatter.h | const char* icu::number::FormattedNumber::getGender(UErrorCode&) const | InternalICU 69 | Deprecated +| ucnv.h | UConverter* ucnv_safeClone(const UConverter*, void*, int32_t*, UErrorCode*) | StableICU 2.0 | DeprecatedICU 71 +| ucol.h | UCollator* ucol_safeClone(const UCollator*, void*, int32_t*, UErrorCode*) | StableICU 2.0 | DeprecatedICU 71 ## Changed -Changed in ICU 70 (old, new) +Changed in ICU 71 (old, new) -| File | API | ICU 69 | ICU 70 | +| File | API | ICU 70 | ICU 71 | |---|---|---|---| -| dtitvfmt.h | UDisplayContext icu::DateIntervalFormat::getContext(UDisplayContextType, UErrorCode&) const | Draft→StableICU 68 -| dtitvfmt.h | void icu::DateIntervalFormat::setContext(UDisplayContext, UErrorCode&) | Draft→StableICU 68 -| localematcher.h | Builder& icu::LocaleMatcher::Builder::setMaxDistance(const Locale&, const Locale&) | Draft→StableICU 68 -| localematcher.h | Builder& icu::LocaleMatcher::Builder::setNoDefaultLocale() | Draft→StableICU 68 -| localematcher.h | bool icu::LocaleMatcher::isMatch(const Locale&, const Locale&, UErrorCode&) const | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getCandela() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getDessertSpoon() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getDessertSpoonImperial() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getDot() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getDram() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getDrop() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getEarthRadius() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getGrain() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getJigger() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getLumen() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getPinch() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getQuartImperial() | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createCandela(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createDessertSpoon(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createDessertSpoonImperial(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createDot(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createDram(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createDrop(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createEarthRadius(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createGrain(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createJigger(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createLumen(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createPinch(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createQuartImperial(UErrorCode&) | Draft→StableICU 68 -| measunit.h | std::pair< LocalArray< MeasureUnit >, int32_t > icu::MeasureUnit::splitToSingleUnits(UErrorCode&) const | Draft→StableICU 68 -| numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::usage(StringPiece) const& | Draft→StableICU 68 -| numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::usage(StringPiece)&& | Draft→StableICU 68 -| numberformatter.h | MeasureUnit icu::number::FormattedNumber::getOutputUnit(UErrorCode&) const | Draft→StableICU 68 -| numberrangeformatter.h | std::pair< StringClass, StringClass > icu::number::FormattedNumberRange::getDecimalNumbers(UErrorCode&) const | Draft→StableICU 68 -| plurrule.h | UnicodeString icu::PluralRules::select(const number::FormattedNumberRange&, UErrorCode&) const | Draft→StableICU 68 -| timezone.h | static StringEnumeration* icu::TimeZone::createEnumeration() | StableICU 2.4 | DeprecatedICU 70 -| timezone.h | static StringEnumeration* icu::TimeZone::createEnumeration(const char*) | StableICU 2.4 | DeprecatedICU 70 -| timezone.h | static StringEnumeration* icu::TimeZone::createEnumeration(int32_t) | StableICU 2.4 | DeprecatedICU 70 -| ucurr.h | enum UCurrNameStyle::UCURR_FORMAL_SYMBOL_NAME | Draft→StableICU 68 -| ucurr.h | enum UCurrNameStyle::UCURR_VARIANT_SYMBOL_NAME | Draft→StableICU 68 -| udateintervalformat.h | UDisplayContext udtitvfmt_getContext(const UDateIntervalFormat*, UDisplayContextType, UErrorCode*) | Draft→StableICU 68 -| udateintervalformat.h | void udtitvfmt_setContext(UDateIntervalFormat*, UDisplayContext, UErrorCode*) | Draft→StableICU 68 -| unum.h | enum UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_AUTO | Draft→StableICU 68 -| unum.h | enum UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_MIN2 | Draft→StableICU 68 -| unumberformatter.h | enum UNumberUnitWidth::UNUM_UNIT_WIDTH_FORMAL | Draft→StableICU 68 -| unumberformatter.h | enum UNumberUnitWidth::UNUM_UNIT_WIDTH_VARIANT | Draft→StableICU 68 -| unumberformatter.h | int32_t unumf_resultToDecimalNumber(const UFormattedNumber*, char*, int32_t, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | UFormattedNumberRange* unumrf_openResult(UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | UNumberRangeFormatter* unumrf_openForSkeletonWithCollapseAndIdentityFallback(const UChar*, int32_t, UNumberRangeCollapse, UNumberRangeIdentityFallback, const char*, UParseError*, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | UNumberRangeIdentityResult unumrf_resultGetIdentityResult(const UFormattedNumberRange*, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | const UFormattedValue* unumrf_resultAsValue(const UFormattedNumberRange*, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | int32_t unumrf_resultGetFirstDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | int32_t unumrf_resultGetSecondDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | void unumrf_close(UNumberRangeFormatter*) | Draft→StableICU 68 -| unumberrangeformatter.h | void unumrf_closeResult(UFormattedNumberRange*) | Draft→StableICU 68 -| unumberrangeformatter.h | void unumrf_formatDecimalRange(const UNumberRangeFormatter*, const char*, int32_t, const char*, int32_t, UFormattedNumberRange*, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | void unumrf_formatDoubleRange(const UNumberRangeFormatter*, double, double, UFormattedNumberRange*, UErrorCode*) | Draft→StableICU 68 -| upluralrules.h | int32_t uplrules_selectForRange(const UPluralRules*, const struct UFormattedNumberRange*, UChar*, int32_t, UErrorCode*) | Draft→StableICU 68 +| basictz.h | void icu::BasicTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) const | Draft→StableICU 69 +| measunit.h | MeasureUnit icu::MeasureUnit::withPrefix(UMeasurePrefix, UErrorCode&) const | Draft→StableICU 69 +| measunit.h | UMeasurePrefix icu::MeasureUnit::getPrefix(UErrorCode&) const | Draft→StableICU 69 +| measunit.h | static MeasureUnit icu::MeasureUnit::getMilligramOfglucosePerDeciliter() | Draft→StableICU 69 +| measunit.h | static MeasureUnit* icu::MeasureUnit::createMilligramOfglucosePerDeciliter(UErrorCode&) | Draft→StableICU 69 +| numberformatter.h | Precision icu::number::FractionPrecision::withSignificantDigits(int32_t, int32_t, UNumberRoundingPriority) const | Draft→StableICU 69 +| numberformatter.h | Precision icu::number::Precision::trailingZeroDisplay(UNumberTrailingZeroDisplay) const | Draft→StableICU 69 +| numberformatter.h | const char* icu::number::FormattedNumber::getGender(UErrorCode&) const | InternalICU 69 | Deprecated +| rbtz.h | void icu::RuleBasedTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) const | Draft→StableICU 69 +| simpletz.h | void icu::SimpleTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) const | Draft→StableICU 69 +| ubrk.h | UBreakIterator* ubrk_clone(const UBreakIterator*, UErrorCode*) | Draft→StableICU 69 +| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_FORMER | Draft→StableICU 69 +| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_LATTER | Draft→StableICU 69 +| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_FORMER | Draft→StableICU 69 +| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_LATTER | Draft→StableICU 69 +| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_FORMER | Draft→StableICU 69 +| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_LATTER | Draft→StableICU 69 +| ucal.h | void ucal_getTimeZoneOffsetFromLocal(const UCalendar*, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t*, int32_t*, UErrorCode*) | Draft→StableICU 69 +| ucnv.h | UConverter* ucnv_safeClone(const UConverter*, void*, int32_t*, UErrorCode*) | StableICU 2.0 | DeprecatedICU 71 +| ucol.h | UCollator* ucol_safeClone(const UCollator*, void*, int32_t*, UErrorCode*) | StableICU 2.0 | DeprecatedICU 71 +| uniset.h | UnicodeSet& icu::UnicodeSet::retain(const UnicodeString&) | Draft→StableICU 69 +| unum.h | enum UNumberFormatRoundingMode::UNUM_ROUND_HALF_CEILING | Draft→StableICU 69 +| unum.h | enum UNumberFormatRoundingMode::UNUM_ROUND_HALF_FLOOR | Draft→StableICU 69 +| unum.h | enum UNumberFormatRoundingMode::UNUM_ROUND_HALF_ODD | Draft→StableICU 69 +| unumberformatter.h | enum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_RELAXED | Draft→StableICU 69 +| unumberformatter.h | enum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_STRICT | Draft→StableICU 69 +| unumberformatter.h | enum UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_NEGATIVE | Draft→StableICU 69 +| unumberformatter.h | enum UNumberSignDisplay::UNUM_SIGN_NEGATIVE | Draft→StableICU 69 +| unumberformatter.h | enum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_AUTO | Draft→StableICU 69 +| unumberformatter.h | enum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_HIDE_IF_WHOLE | Draft→StableICU 69 +| uset.h | void uset_complementAllCodePoints(USet*, const UChar*, int32_t) | Draft→StableICU 69 +| uset.h | void uset_complementRange(USet*, UChar32, UChar32) | Draft→StableICU 69 +| uset.h | void uset_complementString(USet*, const UChar*, int32_t) | Draft→StableICU 69 +| uset.h | void uset_removeAllCodePoints(USet*, const UChar*, int32_t) | Draft→StableICU 69 +| uset.h | void uset_retainAllCodePoints(USet*, const UChar*, int32_t) | Draft→StableICU 69 +| uset.h | void uset_retainString(USet*, const UChar*, int32_t) | Draft→StableICU 69 +| vtzone.h | void icu::VTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) const | Draft→StableICU 69 ## Promoted -Promoted to stable in ICU 70 +Promoted to stable in ICU 71 -| File | API | ICU 69 | ICU 70 | +| File | API | ICU 70 | ICU 71 | |---|---|---|---| -| dtitvfmt.h | UDisplayContext icu::DateIntervalFormat::getContext(UDisplayContextType, UErrorCode&) const | Draft→StableICU 68 -| dtitvfmt.h | void icu::DateIntervalFormat::setContext(UDisplayContext, UErrorCode&) | Draft→StableICU 68 -| localematcher.h | Builder& icu::LocaleMatcher::Builder::setMaxDistance(const Locale&, const Locale&) | Draft→StableICU 68 -| localematcher.h | Builder& icu::LocaleMatcher::Builder::setNoDefaultLocale() | Draft→StableICU 68 -| localematcher.h | bool icu::LocaleMatcher::isMatch(const Locale&, const Locale&, UErrorCode&) const | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getCandela() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getDessertSpoon() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getDessertSpoonImperial() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getDot() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getDram() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getDrop() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getEarthRadius() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getGrain() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getJigger() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getLumen() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getPinch() | Draft→StableICU 68 -| measunit.h | static MeasureUnit icu::MeasureUnit::getQuartImperial() | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createCandela(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createDessertSpoon(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createDessertSpoonImperial(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createDot(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createDram(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createDrop(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createEarthRadius(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createGrain(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createJigger(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createLumen(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createPinch(UErrorCode&) | Draft→StableICU 68 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createQuartImperial(UErrorCode&) | Draft→StableICU 68 -| measunit.h | std::pair< LocalArray< MeasureUnit >, int32_t > icu::MeasureUnit::splitToSingleUnits(UErrorCode&) const | Draft→StableICU 68 -| numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::usage(StringPiece) const& | Draft→StableICU 68 -| numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::usage(StringPiece)&& | Draft→StableICU 68 -| numberformatter.h | MeasureUnit icu::number::FormattedNumber::getOutputUnit(UErrorCode&) const | Draft→StableICU 68 -| numberrangeformatter.h | std::pair< StringClass, StringClass > icu::number::FormattedNumberRange::getDecimalNumbers(UErrorCode&) const | Draft→StableICU 68 -| plurrule.h | UnicodeString icu::PluralRules::select(const number::FormattedNumberRange&, UErrorCode&) const | Draft→StableICU 68 -| timezone.h | static StringEnumeration* icu::TimeZone::createEnumeration(UErrorCode&) | (missing) | StableICU 70| *(Born Stable)* | -| timezone.h | static StringEnumeration* icu::TimeZone::createEnumerationForRawOffset(int32_t, UErrorCode&) | (missing) | StableICU 70| *(Born Stable)* | -| timezone.h | static StringEnumeration* icu::TimeZone::createEnumerationForRegion(const char*, UErrorCode&) | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_ARABIC_EXTENDED_B | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_CYPRO_MINOAN | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_ETHIOPIC_EXTENDED_B | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_KANA_EXTENDED_B | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_LATIN_EXTENDED_F | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_LATIN_EXTENDED_G | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_OLD_UYGHUR | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_TANGSA | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_TOTO | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_VITHKUQI | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_ZNAMENNY_MUSICAL_NOTATION | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UJoiningGroup::U_JG_THIN_YEH | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UJoiningGroup::U_JG_VERTICAL_TAIL | (missing) | StableICU 70| *(Born Stable)* | -| ucurr.h | enum UCurrNameStyle::UCURR_FORMAL_SYMBOL_NAME | Draft→StableICU 68 -| ucurr.h | enum UCurrNameStyle::UCURR_VARIANT_SYMBOL_NAME | Draft→StableICU 68 -| udateintervalformat.h | UDisplayContext udtitvfmt_getContext(const UDateIntervalFormat*, UDisplayContextType, UErrorCode*) | Draft→StableICU 68 -| udateintervalformat.h | void udtitvfmt_setContext(UDateIntervalFormat*, UDisplayContext, UErrorCode*) | Draft→StableICU 68 -| unum.h | enum UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_AUTO | Draft→StableICU 68 -| unum.h | enum UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_MIN2 | Draft→StableICU 68 -| unumberformatter.h | enum UNumberUnitWidth::UNUM_UNIT_WIDTH_FORMAL | Draft→StableICU 68 -| unumberformatter.h | enum UNumberUnitWidth::UNUM_UNIT_WIDTH_VARIANT | Draft→StableICU 68 -| unumberformatter.h | int32_t unumf_resultToDecimalNumber(const UFormattedNumber*, char*, int32_t, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | UFormattedNumberRange* unumrf_openResult(UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | UNumberRangeFormatter* unumrf_openForSkeletonWithCollapseAndIdentityFallback(const UChar*, int32_t, UNumberRangeCollapse, UNumberRangeIdentityFallback, const char*, UParseError*, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | UNumberRangeIdentityResult unumrf_resultGetIdentityResult(const UFormattedNumberRange*, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | const UFormattedValue* unumrf_resultAsValue(const UFormattedNumberRange*, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | int32_t unumrf_resultGetFirstDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | int32_t unumrf_resultGetSecondDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | void unumrf_close(UNumberRangeFormatter*) | Draft→StableICU 68 -| unumberrangeformatter.h | void unumrf_closeResult(UFormattedNumberRange*) | Draft→StableICU 68 -| unumberrangeformatter.h | void unumrf_formatDecimalRange(const UNumberRangeFormatter*, const char*, int32_t, const char*, int32_t, UFormattedNumberRange*, UErrorCode*) | Draft→StableICU 68 -| unumberrangeformatter.h | void unumrf_formatDoubleRange(const UNumberRangeFormatter*, double, double, UFormattedNumberRange*, UErrorCode*) | Draft→StableICU 68 -| upluralrules.h | int32_t uplrules_selectForRange(const UPluralRules*, const struct UFormattedNumberRange*, UChar*, int32_t, UErrorCode*) | Draft→StableICU 68 -| uscript.h | enum UScriptCode::USCRIPT_CYPRO_MINOAN | (missing) | StableICU 70| *(Born Stable)* | -| uscript.h | enum UScriptCode::USCRIPT_OLD_UYGHUR | (missing) | StableICU 70| *(Born Stable)* | -| uscript.h | enum UScriptCode::USCRIPT_TANGSA | (missing) | StableICU 70| *(Born Stable)* | -| uscript.h | enum UScriptCode::USCRIPT_TOTO | (missing) | StableICU 70| *(Born Stable)* | -| uscript.h | enum UScriptCode::USCRIPT_VITHKUQI | (missing) | StableICU 70| *(Born Stable)* | -| utypes.h | enum UErrorCode::U_INPUT_TOO_LONG_ERROR | (missing) | StableICU 68 +| basictz.h | void icu::BasicTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) const | Draft→StableICU 69 +| measunit.h | MeasureUnit icu::MeasureUnit::withPrefix(UMeasurePrefix, UErrorCode&) const | Draft→StableICU 69 +| measunit.h | UMeasurePrefix icu::MeasureUnit::getPrefix(UErrorCode&) const | Draft→StableICU 69 +| measunit.h | static MeasureUnit icu::MeasureUnit::getMilligramOfglucosePerDeciliter() | Draft→StableICU 69 +| measunit.h | static MeasureUnit* icu::MeasureUnit::createMilligramOfglucosePerDeciliter(UErrorCode&) | Draft→StableICU 69 +| numberformatter.h | Precision icu::number::FractionPrecision::withSignificantDigits(int32_t, int32_t, UNumberRoundingPriority) const | Draft→StableICU 69 +| numberformatter.h | Precision icu::number::Precision::trailingZeroDisplay(UNumberTrailingZeroDisplay) const | Draft→StableICU 69 +| rbtz.h | void icu::RuleBasedTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) const | Draft→StableICU 69 +| simpletz.h | void icu::SimpleTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) const | Draft→StableICU 69 +| ubrk.h | UBreakIterator* ubrk_clone(const UBreakIterator*, UErrorCode*) | Draft→StableICU 69 +| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_FORMER | Draft→StableICU 69 +| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_LATTER | Draft→StableICU 69 +| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_FORMER | Draft→StableICU 69 +| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_LATTER | Draft→StableICU 69 +| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_FORMER | Draft→StableICU 69 +| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_LATTER | Draft→StableICU 69 +| ucal.h | void ucal_getTimeZoneOffsetFromLocal(const UCalendar*, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t*, int32_t*, UErrorCode*) | Draft→StableICU 69 +| ucnv.h | UConverter* ucnv_clone(const UConverter*, UErrorCode*) | (missing) | StableICU 71| *(Born Stable)* | +| ucol.h | UCollator* ucol_clone(const UCollator*, UErrorCode*) | (missing) | StableICU 71| *(Born Stable)* | +| uniset.h | UnicodeSet& icu::UnicodeSet::retain(const UnicodeString&) | Draft→StableICU 69 +| unum.h | enum UNumberFormatRoundingMode::UNUM_ROUND_HALF_CEILING | Draft→StableICU 69 +| unum.h | enum UNumberFormatRoundingMode::UNUM_ROUND_HALF_FLOOR | Draft→StableICU 69 +| unum.h | enum UNumberFormatRoundingMode::UNUM_ROUND_HALF_ODD | Draft→StableICU 69 +| unumberformatter.h | enum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_RELAXED | Draft→StableICU 69 +| unumberformatter.h | enum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_STRICT | Draft→StableICU 69 +| unumberformatter.h | enum UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_NEGATIVE | Draft→StableICU 69 +| unumberformatter.h | enum UNumberSignDisplay::UNUM_SIGN_NEGATIVE | Draft→StableICU 69 +| unumberformatter.h | enum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_AUTO | Draft→StableICU 69 +| unumberformatter.h | enum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_HIDE_IF_WHOLE | Draft→StableICU 69 +| uset.h | void uset_complementAllCodePoints(USet*, const UChar*, int32_t) | Draft→StableICU 69 +| uset.h | void uset_complementRange(USet*, UChar32, UChar32) | Draft→StableICU 69 +| uset.h | void uset_complementString(USet*, const UChar*, int32_t) | Draft→StableICU 69 +| uset.h | void uset_removeAllCodePoints(USet*, const UChar*, int32_t) | Draft→StableICU 69 +| uset.h | void uset_retainAllCodePoints(USet*, const UChar*, int32_t) | Draft→StableICU 69 +| uset.h | void uset_retainString(USet*, const UChar*, int32_t) | Draft→StableICU 69 +| vtzone.h | void icu::VTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) const | Draft→StableICU 69 ## Added -Added in ICU 70 +Added in ICU 71 -| File | API | ICU 69 | ICU 70 | +| File | API | ICU 70 | ICU 71 | |---|---|---|---| -| dcfmtsym.h | enum icu::DecimalFormatSymbols::ENumberFormatSymbol::kApproximatelySignSymbol | (missing) | Internal -| measunit.h | static MeasureUnit icu::MeasureUnit::getItem() | (missing) | DraftICU 70 -| measunit.h | static MeasureUnit icu::MeasureUnit::getKilowattHourPer100Kilometer() | (missing) | DraftICU 70 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createItem(UErrorCode&) | (missing) | DraftICU 70 -| measunit.h | static MeasureUnit* icu::MeasureUnit::createKilowattHourPer100Kilometer(UErrorCode&) | (missing) | DraftICU 70 -| numberformatter.h | const DecimalFormatSymbols* icu::number::LocalizedNumberFormatter::getDecimalFormatSymbols() const | (missing) | Internal -| numberrangeformatter.h | icu::number::FormattedNumberRange::FormattedNumberRange() | (missing) | DraftICU 70 -| timezone.h | static StringEnumeration* icu::TimeZone::createEnumeration(UErrorCode&) | (missing) | StableICU 70| *(Born Stable)* | -| timezone.h | static StringEnumeration* icu::TimeZone::createEnumerationForRawOffset(int32_t, UErrorCode&) | (missing) | StableICU 70| *(Born Stable)* | -| timezone.h | static StringEnumeration* icu::TimeZone::createEnumerationForRegion(const char*, UErrorCode&) | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | bool u_stringHasBinaryProperty(const UChar*, int32_t, UProperty) | (missing) | DraftICU 70 -| uchar.h | enum UBlockCode::UBLOCK_ARABIC_EXTENDED_B | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_CYPRO_MINOAN | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_ETHIOPIC_EXTENDED_B | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_KANA_EXTENDED_B | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_LATIN_EXTENDED_F | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_LATIN_EXTENDED_G | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_OLD_UYGHUR | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_TANGSA | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_TOTO | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_VITHKUQI | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UBlockCode::UBLOCK_ZNAMENNY_MUSICAL_NOTATION | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UJoiningGroup::U_JG_THIN_YEH | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UJoiningGroup::U_JG_VERTICAL_TAIL | (missing) | StableICU 70| *(Born Stable)* | -| uchar.h | enum UProperty::UCHAR_BASIC_EMOJI | (missing) | DraftICU 70 -| uchar.h | enum UProperty::UCHAR_EMOJI_KEYCAP_SEQUENCE | (missing) | DraftICU 70 -| uchar.h | enum UProperty::UCHAR_RGI_EMOJI_FLAG_SEQUENCE | (missing) | DraftICU 70 -| uchar.h | enum UProperty::UCHAR_RGI_EMOJI_MODIFIER_SEQUENCE | (missing) | DraftICU 70 -| uchar.h | enum UProperty::UCHAR_RGI_EMOJI_TAG_SEQUENCE | (missing) | DraftICU 70 -| uchar.h | enum UProperty::UCHAR_RGI_EMOJI_ZWJ_SEQUENCE | (missing) | DraftICU 70 -| uchar.h | enum UProperty::UCHAR_RGI_EMOJI | (missing) | DraftICU 70 -| udat.h | enum UDateFormatSymbolType::UDAT_NARROW_QUARTERS | (missing) | DraftICU 70 -| udat.h | enum UDateFormatSymbolType::UDAT_STANDALONE_NARROW_QUARTERS | (missing) | DraftICU 70 -| uniset.h | bool icu::UnicodeSet::hasStrings() const | (missing) | DraftICU 70 -| unum.h | enum UNumberFormatSymbol::UNUM_APPROXIMATELY_SIGN_SYMBOL | (missing) | Internal -| uscript.h | enum UScriptCode::USCRIPT_CYPRO_MINOAN | (missing) | StableICU 70| *(Born Stable)* | -| uscript.h | enum UScriptCode::USCRIPT_OLD_UYGHUR | (missing) | StableICU 70| *(Born Stable)* | -| uscript.h | enum UScriptCode::USCRIPT_TANGSA | (missing) | StableICU 70| *(Born Stable)* | -| uscript.h | enum UScriptCode::USCRIPT_TOTO | (missing) | StableICU 70| *(Born Stable)* | -| uscript.h | enum UScriptCode::USCRIPT_VITHKUQI | (missing) | StableICU 70| *(Born Stable)* | -| uset.h | bool uset_hasStrings(const USet*) | (missing) | DraftICU 70 -| uset.h | int32_t uset_getRangeCount(const USet*) | (missing) | DraftICU 70 -| usetiter.h | UnicodeSetIterator& icu::UnicodeSetIterator::skipToStrings() | (missing) | DraftICU 70 -| utypes.h | enum UErrorCode::U_INPUT_TOO_LONG_ERROR | (missing) | StableICU 68 +| dtptngen.h | const UnicodeString& icu::DateTimePatternGenerator::getDateTimeFormat(UDateFormatStyle, UErrorCode&) const | (missing) | DraftICU 71 +| dtptngen.h | void icu::DateTimePatternGenerator::setDateTimeFormat(UDateFormatStyle, const UnicodeString&, UErrorCode&) | (missing) | DraftICU 71 +| numberformatter.h | NounClass icu::number::FormattedNumber::getNounClass(UErrorCode&) const | (missing) | DraftICU 71 +| numberformatter.h | static IncrementPrecision icu::number::Precision::incrementExact(uint64_t, int16_t) | (missing) | DraftICU 71 +| ucnv.h | UConverter* ucnv_clone(const UConverter*, UErrorCode*) | (missing) | StableICU 71| *(Born Stable)* | +| ucol.h | UCollator* ucol_clone(const UCollator*, UErrorCode*) | (missing) | StableICU 71| *(Born Stable)* | +| udatpg.h | const UChar* udatpg_getDateTimeFormatForStyle(const UDateTimePatternGenerator*, UDateFormatStyle, int32_t*, UErrorCode*) | (missing) | DraftICU 71 +| udatpg.h | void udatpg_setDateTimeFormatForStyle(UDateTimePatternGenerator*, UDateFormatStyle, const UChar*, int32_t, UErrorCode*) | (missing) | DraftICU 71 +| unum.h | enum UNumberFormatFields::UNUM_APPROXIMATELY_SIGN_FIELD | (missing) | DraftICU 71 ## Other -Other existing drafts in ICU 70 +Other existing drafts in ICU 71 -| File | API | ICU 69 | ICU 70 | +| File | API | ICU 70 | ICU 71 | |---|---|---|---| -| basictz.h | void icu::BasicTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) const | DraftICU 69 | | measfmt.h | void icu::MeasureFormat::parseObject(const UnicodeString&, Formattable&, ParsePosition&) const | DraftICU 53 | -| measunit.h | MeasureUnit icu::MeasureUnit::withPrefix(UMeasurePrefix, UErrorCode&) const | DraftICU 69 | -| measunit.h | UMeasurePrefix icu::MeasureUnit::getPrefix(UErrorCode&) const | DraftICU 69 | -| measunit.h | static MeasureUnit icu::MeasureUnit::getMilligramOfglucosePerDeciliter() | DraftICU 69 | -| measunit.h | static MeasureUnit* icu::MeasureUnit::createMilligramOfglucosePerDeciliter(UErrorCode&) | DraftICU 69 | -| numberformatter.h | Precision icu::number::FractionPrecision::withSignificantDigits(int32_t, int32_t, UNumberRoundingPriority) const | DraftICU 69 | -| numberformatter.h | Precision icu::number::Precision::trailingZeroDisplay(UNumberTrailingZeroDisplay) const | DraftICU 69 | -| rbtz.h | void icu::RuleBasedTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) const | DraftICU 69 | -| simpletz.h | void icu::SimpleTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) const | DraftICU 69 | -| ubrk.h | UBreakIterator* ubrk_clone(const UBreakIterator*, UErrorCode*) | DraftICU 69 | -| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_FORMER | DraftICU 69 | -| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_LATTER | DraftICU 69 | -| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_FORMER | DraftICU 69 | -| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_LATTER | DraftICU 69 | -| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_FORMER | DraftICU 69 | -| ucal.h | enum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_LATTER | DraftICU 69 | -| ucal.h | void ucal_getTimeZoneOffsetFromLocal(const UCalendar*, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t*, int32_t*, UErrorCode*) | DraftICU 69 | +| measunit.h | static MeasureUnit icu::MeasureUnit::getItem() | DraftICU 70 | +| measunit.h | static MeasureUnit icu::MeasureUnit::getKilowattHourPer100Kilometer() | DraftICU 70 | +| measunit.h | static MeasureUnit* icu::MeasureUnit::createItem(UErrorCode&) | DraftICU 70 | +| measunit.h | static MeasureUnit* icu::MeasureUnit::createKilowattHourPer100Kilometer(UErrorCode&) | DraftICU 70 | +| numberrangeformatter.h | icu::number::FormattedNumberRange::FormattedNumberRange() | DraftICU 70 | +| uchar.h | bool u_stringHasBinaryProperty(const UChar*, int32_t, UProperty) | DraftICU 70 | +| uchar.h | enum UProperty::UCHAR_BASIC_EMOJI | DraftICU 70 | +| uchar.h | enum UProperty::UCHAR_EMOJI_KEYCAP_SEQUENCE | DraftICU 70 | +| uchar.h | enum UProperty::UCHAR_RGI_EMOJI_FLAG_SEQUENCE | DraftICU 70 | +| uchar.h | enum UProperty::UCHAR_RGI_EMOJI_MODIFIER_SEQUENCE | DraftICU 70 | +| uchar.h | enum UProperty::UCHAR_RGI_EMOJI_TAG_SEQUENCE | DraftICU 70 | +| uchar.h | enum UProperty::UCHAR_RGI_EMOJI_ZWJ_SEQUENCE | DraftICU 70 | +| uchar.h | enum UProperty::UCHAR_RGI_EMOJI | DraftICU 70 | +| udat.h | enum UDateFormatSymbolType::UDAT_NARROW_QUARTERS | DraftICU 70 | +| udat.h | enum UDateFormatSymbolType::UDAT_STANDALONE_NARROW_QUARTERS | DraftICU 70 | | uformattedvalue.h | enum UFieldCategory::UFIELD_CATEGORY_NUMBER_RANGE_SPAN | DraftICU 69 | -| uniset.h | UnicodeSet& icu::UnicodeSet::retain(const UnicodeString&) | DraftICU 69 | -| unum.h | enum UNumberFormatRoundingMode::UNUM_ROUND_HALF_CEILING | DraftICU 69 | -| unum.h | enum UNumberFormatRoundingMode::UNUM_ROUND_HALF_FLOOR | DraftICU 69 | -| unum.h | enum UNumberFormatRoundingMode::UNUM_ROUND_HALF_ODD | DraftICU 69 | -| unumberformatter.h | enum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_RELAXED | DraftICU 69 | -| unumberformatter.h | enum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_STRICT | DraftICU 69 | -| unumberformatter.h | enum UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_NEGATIVE | DraftICU 69 | -| unumberformatter.h | enum UNumberSignDisplay::UNUM_SIGN_NEGATIVE | DraftICU 69 | -| unumberformatter.h | enum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_AUTO | DraftICU 69 | -| unumberformatter.h | enum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_HIDE_IF_WHOLE | DraftICU 69 | +| uniset.h | bool icu::UnicodeSet::hasStrings() const | DraftICU 70 | | uregex.h | enum URegexpFlag::UREGEX_CANON_EQ | DraftICU 2.4 | -| uset.h | void uset_complementAllCodePoints(USet*, const UChar*, int32_t) | DraftICU 69 | -| uset.h | void uset_complementRange(USet*, UChar32, UChar32) | DraftICU 69 | -| uset.h | void uset_complementString(USet*, const UChar*, int32_t) | DraftICU 69 | -| uset.h | void uset_removeAllCodePoints(USet*, const UChar*, int32_t) | DraftICU 69 | -| uset.h | void uset_retainAllCodePoints(USet*, const UChar*, int32_t) | DraftICU 69 | -| uset.h | void uset_retainString(USet*, const UChar*, int32_t) | DraftICU 69 | -| vtzone.h | void icu::VTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) const | DraftICU 69 | +| uset.h | bool uset_hasStrings(const USet*) | DraftICU 70 | +| uset.h | int32_t uset_getRangeCount(const USet*) | DraftICU 70 | +| usetiter.h | UnicodeSetIterator& icu::UnicodeSetIterator::skipToStrings() | DraftICU 70 | ## Simplifications This section shows cases where the signature was "simplified" for the sake of comparison. The simplified form is in bold, followed by all possible variations in "original" form. -- **`UClassID icu::BreakIterator::getDynamicClassID() const`** - - `UClassID icu::BreakIterator::getDynamicClassID() const override=0` - - `UClassID icu::BreakIterator::getDynamicClassID() const=0` -- **`UClassID icu::Calendar::getDynamicClassID() const`** - - `UClassID icu::Calendar::getDynamicClassID() const override=0` - - `UClassID icu::Calendar::getDynamicClassID() const=0` -- **`UClassID icu::Collator::getDynamicClassID() const`** - - `UClassID icu::Collator::getDynamicClassID() const override=0` - - `UClassID icu::Collator::getDynamicClassID() const=0` -- **`UClassID icu::ForwardCharacterIterator::getDynamicClassID() const`** - - `UClassID icu::ForwardCharacterIterator::getDynamicClassID() const override=0` - - `UClassID icu::ForwardCharacterIterator::getDynamicClassID() const=0` -- **`UClassID icu::NumberFormat::getDynamicClassID() const`** - - `UClassID icu::NumberFormat::getDynamicClassID() const override=0` - - `UClassID icu::NumberFormat::getDynamicClassID() const=0` -- **`UClassID icu::TimeZone::getDynamicClassID() const`** - - `UClassID icu::TimeZone::getDynamicClassID() const override=0` - - `UClassID icu::TimeZone::getDynamicClassID() const=0` -- **`UClassID icu::Transliterator::getDynamicClassID() const`** - - `UClassID icu::Transliterator::getDynamicClassID() const override=0` - - `UClassID icu::Transliterator::getDynamicClassID() const=0` -- **`UClassID icu::UnicodeFunctor::getDynamicClassID() const`** - - `UClassID icu::UnicodeFunctor::getDynamicClassID() const override=0` - - `UClassID icu::UnicodeFunctor::getDynamicClassID() const=0` -- **`UMatchDegree icu::UnicodeFilter::matches(const Replaceable&, int32_t&, int32_t, bool)`** - - `UMatchDegree icu::UnicodeFilter::matches(const Replaceable&, int32_t&, int32_t, UBool)` - - `UMatchDegree icu::UnicodeFilter::matches(const Replaceable&, int32_t&, int32_t, UBool) override` -- **`UMatchDegree icu::UnicodeSet::matches(const Replaceable&, int32_t&, int32_t, bool)`** - - `UMatchDegree icu::UnicodeSet::matches(const Replaceable&, int32_t&, int32_t, UBool)` - - `UMatchDegree icu::UnicodeSet::matches(const Replaceable&, int32_t&, int32_t, UBool) override` -- **`UnicodeString& icu::UnicodeSet::toPattern(UnicodeString&, bool escapeUnprintable=) const`** - - `UnicodeString& icu::UnicodeSet::toPattern(UnicodeString&, UBool escapeUnprintable=) const` - - `UnicodeString& icu::UnicodeSet::toPattern(UnicodeString&, UBool escapeUnprintable=) const override` -- **`bool icu::AnnualTimeZoneRule::getFinalStart(int32_t, int32_t, UDate&) const`** - - `UBool icu::AnnualTimeZoneRule::getFinalStart(int32_t, int32_t, UDate&) const` - - `UBool icu::AnnualTimeZoneRule::getFinalStart(int32_t, int32_t, UDate&) const override` -- **`bool icu::AnnualTimeZoneRule::getFirstStart(int32_t, int32_t, UDate&) const`** - - `UBool icu::AnnualTimeZoneRule::getFirstStart(int32_t, int32_t, UDate&) const` - - `UBool icu::AnnualTimeZoneRule::getFirstStart(int32_t, int32_t, UDate&) const override` -- **`bool icu::AnnualTimeZoneRule::getNextStart(UDate, int32_t, int32_t, bool, UDate&) const`** - - `UBool icu::AnnualTimeZoneRule::getNextStart(UDate, int32_t, int32_t, UBool, UDate&) const` - - `UBool icu::AnnualTimeZoneRule::getNextStart(UDate, int32_t, int32_t, UBool, UDate&) const override` -- **`bool icu::AnnualTimeZoneRule::getPreviousStart(UDate, int32_t, int32_t, bool, UDate&) const`** - - `UBool icu::AnnualTimeZoneRule::getPreviousStart(UDate, int32_t, int32_t, UBool, UDate&) const` - - `UBool icu::AnnualTimeZoneRule::getPreviousStart(UDate, int32_t, int32_t, UBool, UDate&) const override` -- **`bool icu::AnnualTimeZoneRule::isEquivalentTo(const TimeZoneRule&) const`** - - `UBool icu::AnnualTimeZoneRule::isEquivalentTo(const TimeZoneRule&) const` - - `UBool icu::AnnualTimeZoneRule::isEquivalentTo(const TimeZoneRule&) const override` -- **`bool icu::AnnualTimeZoneRule::operator!=(const TimeZoneRule&) const`** - - `UBool icu::AnnualTimeZoneRule::operator!=(const TimeZoneRule&) const` - - `bool icu::AnnualTimeZoneRule::operator!=(const TimeZoneRule&) const override` -- **`bool icu::AnnualTimeZoneRule::operator==(const TimeZoneRule&) const`** - - `UBool icu::AnnualTimeZoneRule::operator==(const TimeZoneRule&) const` - - `bool icu::AnnualTimeZoneRule::operator==(const TimeZoneRule&) const override` -- **`bool icu::BreakIterator::operator==(const BreakIterator&) const`** - - `UBool icu::BreakIterator::operator==(const BreakIterator&) const=0` - - `bool icu::BreakIterator::operator==(const BreakIterator&) const=0` -- **`bool icu::ChoiceFormat::operator==(const Format&) const`** - - `UBool icu::ChoiceFormat::operator==(const Format&) const` - - `bool icu::ChoiceFormat::operator==(const Format&) const override` -- **`bool icu::DateFormat::operator==(const Format&) const`** - - `UBool icu::DateFormat::operator==(const Format&) const` - - `bool icu::DateFormat::operator==(const Format&) const override` -- **`bool icu::DateIntervalFormat::operator==(const Format&) const`** - - `UBool icu::DateIntervalFormat::operator==(const Format&) const` - - `bool icu::DateIntervalFormat::operator==(const Format&) const override` -- **`bool icu::DecimalFormat::operator==(const Format&) const`** - - `UBool icu::DecimalFormat::operator==(const Format&) const U_OVERRIDE` - - `bool icu::DecimalFormat::operator==(const Format&) const U_OVERRIDE` -- **`bool icu::Format::operator==(const Format&) const`** - - `UBool icu::Format::operator==(const Format&) const=0` - - `bool icu::Format::operator==(const Format&) const=0` -- **`bool icu::ForwardCharacterIterator::operator==(const ForwardCharacterIterator&) const`** - - `UBool icu::ForwardCharacterIterator::operator==(const ForwardCharacterIterator&) const=0` - - `bool icu::ForwardCharacterIterator::operator==(const ForwardCharacterIterator&) const=0` -- **`bool icu::GregorianCalendar::haveDefaultCentury() const`** - - `UBool icu::GregorianCalendar::haveDefaultCentury() const` - - `UBool icu::GregorianCalendar::haveDefaultCentury() const override` -- **`bool icu::GregorianCalendar::inDaylightTime(UErrorCode&) const`** - - `UBool icu::GregorianCalendar::inDaylightTime(UErrorCode&) const` - - `UBool icu::GregorianCalendar::inDaylightTime(UErrorCode&) const override` -- **`bool icu::GregorianCalendar::isEquivalentTo(const Calendar&) const`** - - `UBool icu::GregorianCalendar::isEquivalentTo(const Calendar&) const` - - `UBool icu::GregorianCalendar::isEquivalentTo(const Calendar&) const override` -- **`bool icu::InitialTimeZoneRule::getFinalStart(int32_t, int32_t, UDate&) const`** - - `UBool icu::InitialTimeZoneRule::getFinalStart(int32_t, int32_t, UDate&) const` - - `UBool icu::InitialTimeZoneRule::getFinalStart(int32_t, int32_t, UDate&) const override` -- **`bool icu::InitialTimeZoneRule::getFirstStart(int32_t, int32_t, UDate&) const`** - - `UBool icu::InitialTimeZoneRule::getFirstStart(int32_t, int32_t, UDate&) const` - - `UBool icu::InitialTimeZoneRule::getFirstStart(int32_t, int32_t, UDate&) const override` -- **`bool icu::InitialTimeZoneRule::getNextStart(UDate, int32_t, int32_t, bool, UDate&) const`** - - `UBool icu::InitialTimeZoneRule::getNextStart(UDate, int32_t, int32_t, UBool, UDate&) const` - - `UBool icu::InitialTimeZoneRule::getNextStart(UDate, int32_t, int32_t, UBool, UDate&) const override` -- **`bool icu::InitialTimeZoneRule::getPreviousStart(UDate, int32_t, int32_t, bool, UDate&) const`** - - `UBool icu::InitialTimeZoneRule::getPreviousStart(UDate, int32_t, int32_t, UBool, UDate&) const` - - `UBool icu::InitialTimeZoneRule::getPreviousStart(UDate, int32_t, int32_t, UBool, UDate&) const override` -- **`bool icu::InitialTimeZoneRule::isEquivalentTo(const TimeZoneRule&) const`** - - `UBool icu::InitialTimeZoneRule::isEquivalentTo(const TimeZoneRule&) const` - - `UBool icu::InitialTimeZoneRule::isEquivalentTo(const TimeZoneRule&) const override` -- **`bool icu::InitialTimeZoneRule::operator!=(const TimeZoneRule&) const`** - - `UBool icu::InitialTimeZoneRule::operator!=(const TimeZoneRule&) const` - - `bool icu::InitialTimeZoneRule::operator!=(const TimeZoneRule&) const override` -- **`bool icu::InitialTimeZoneRule::operator==(const TimeZoneRule&) const`** - - `UBool icu::InitialTimeZoneRule::operator==(const TimeZoneRule&) const` - - `bool icu::InitialTimeZoneRule::operator==(const TimeZoneRule&) const override` -- **`bool icu::MeasureFormat::operator==(const Format&) const`** - - `UBool icu::MeasureFormat::operator==(const Format&) const` - - `bool icu::MeasureFormat::operator==(const Format&) const override` -- **`bool icu::MessageFormat::operator==(const Format&) const`** - - `UBool icu::MessageFormat::operator==(const Format&) const` - - `bool icu::MessageFormat::operator==(const Format&) const override` -- **`bool icu::NumberFormat::operator==(const Format&) const`** - - `UBool icu::NumberFormat::operator==(const Format&) const` - - `bool icu::NumberFormat::operator==(const Format&) const override` -- **`bool icu::PluralFormat::operator==(const Format&) const`** - - `UBool icu::PluralFormat::operator==(const Format&) const` - - `bool icu::PluralFormat::operator==(const Format&) const override` -- **`bool icu::RuleBasedBreakIterator::isBoundary(int32_t)`** - - `UBool icu::RuleBasedBreakIterator::isBoundary(int32_t)` - - `UBool icu::RuleBasedBreakIterator::isBoundary(int32_t) override` -- **`bool icu::RuleBasedBreakIterator::operator==(const BreakIterator&) const`** - - `UBool icu::RuleBasedBreakIterator::operator==(const BreakIterator&) const` - - `bool icu::RuleBasedBreakIterator::operator==(const BreakIterator&) const override` -- **`bool icu::RuleBasedCollator::operator==(const Collator&) const`** - - `UBool icu::RuleBasedCollator::operator==(const Collator&) const` - - `bool icu::RuleBasedCollator::operator==(const Collator&) const override` -- **`bool icu::RuleBasedNumberFormat::isLenient() const`** - - `UBool icu::RuleBasedNumberFormat::isLenient() const` - - `UBool icu::RuleBasedNumberFormat::isLenient() const override` -- **`bool icu::RuleBasedNumberFormat::operator==(const Format&) const`** - - `UBool icu::RuleBasedNumberFormat::operator==(const Format&) const` - - `bool icu::RuleBasedNumberFormat::operator==(const Format&) const override` -- **`bool icu::RuleBasedTimeZone::getNextTransition(UDate, bool, TimeZoneTransition&) const`** - - `UBool icu::RuleBasedTimeZone::getNextTransition(UDate, UBool, TimeZoneTransition&) const` - - `UBool icu::RuleBasedTimeZone::getNextTransition(UDate, UBool, TimeZoneTransition&) const override` -- **`bool icu::RuleBasedTimeZone::getPreviousTransition(UDate, bool, TimeZoneTransition&) const`** - - `UBool icu::RuleBasedTimeZone::getPreviousTransition(UDate, UBool, TimeZoneTransition&) const` - - `UBool icu::RuleBasedTimeZone::getPreviousTransition(UDate, UBool, TimeZoneTransition&) const override` -- **`bool icu::RuleBasedTimeZone::hasSameRules(const TimeZone&) const`** - - `UBool icu::RuleBasedTimeZone::hasSameRules(const TimeZone&) const` - - `UBool icu::RuleBasedTimeZone::hasSameRules(const TimeZone&) const override` -- **`bool icu::RuleBasedTimeZone::inDaylightTime(UDate, UErrorCode&) const`** - - `UBool icu::RuleBasedTimeZone::inDaylightTime(UDate, UErrorCode&) const` - - `UBool icu::RuleBasedTimeZone::inDaylightTime(UDate, UErrorCode&) const override` -- **`bool icu::RuleBasedTimeZone::operator==(const TimeZone&) const`** - - `UBool icu::RuleBasedTimeZone::operator==(const TimeZone&) const` - - `bool icu::RuleBasedTimeZone::operator==(const TimeZone&) const override` -- **`bool icu::RuleBasedTimeZone::useDaylightTime() const`** - - `UBool icu::RuleBasedTimeZone::useDaylightTime() const` - - `UBool icu::RuleBasedTimeZone::useDaylightTime() const override` -- **`bool icu::SelectFormat::operator==(const Format&) const`** - - `UBool icu::SelectFormat::operator==(const Format&) const` - - `bool icu::SelectFormat::operator==(const Format&) const override` -- **`bool icu::SimpleDateFormat::operator==(const Format&) const`** - - `UBool icu::SimpleDateFormat::operator==(const Format&) const` - - `bool icu::SimpleDateFormat::operator==(const Format&) const override` -- **`bool icu::SimpleNumberFormatFactory::visible() const`** - - `UBool icu::SimpleNumberFormatFactory::visible() const` - - `UBool icu::SimpleNumberFormatFactory::visible() const override` -- **`bool icu::SimpleTimeZone::getNextTransition(UDate, bool, TimeZoneTransition&) const`** - - `UBool icu::SimpleTimeZone::getNextTransition(UDate, UBool, TimeZoneTransition&) const` - - `UBool icu::SimpleTimeZone::getNextTransition(UDate, UBool, TimeZoneTransition&) const override` -- **`bool icu::SimpleTimeZone::getPreviousTransition(UDate, bool, TimeZoneTransition&) const`** - - `UBool icu::SimpleTimeZone::getPreviousTransition(UDate, UBool, TimeZoneTransition&) const` - - `UBool icu::SimpleTimeZone::getPreviousTransition(UDate, UBool, TimeZoneTransition&) const override` -- **`bool icu::SimpleTimeZone::hasSameRules(const TimeZone&) const`** - - `UBool icu::SimpleTimeZone::hasSameRules(const TimeZone&) const` - - `UBool icu::SimpleTimeZone::hasSameRules(const TimeZone&) const override` -- **`bool icu::SimpleTimeZone::inDaylightTime(UDate, UErrorCode&) const`** - - `UBool icu::SimpleTimeZone::inDaylightTime(UDate, UErrorCode&) const` - - `UBool icu::SimpleTimeZone::inDaylightTime(UDate, UErrorCode&) const override` -- **`bool icu::SimpleTimeZone::operator==(const TimeZone&) const`** - - `UBool icu::SimpleTimeZone::operator==(const TimeZone&) const` - - `bool icu::SimpleTimeZone::operator==(const TimeZone&) const override` -- **`bool icu::SimpleTimeZone::useDaylightTime() const`** - - `UBool icu::SimpleTimeZone::useDaylightTime() const` - - `UBool icu::SimpleTimeZone::useDaylightTime() const override` -- **`bool icu::StringCharacterIterator::operator==(const ForwardCharacterIterator&) const`** - - `UBool icu::StringCharacterIterator::operator==(const ForwardCharacterIterator&) const` - - `bool icu::StringCharacterIterator::operator==(const ForwardCharacterIterator&) const override` -- **`bool icu::StringSearch::operator==(const SearchIterator&) const`** - - `UBool icu::StringSearch::operator==(const SearchIterator&) const` - - `bool icu::StringSearch::operator==(const SearchIterator&) const override` -- **`bool icu::TimeArrayTimeZoneRule::getFinalStart(int32_t, int32_t, UDate&) const`** - - `UBool icu::TimeArrayTimeZoneRule::getFinalStart(int32_t, int32_t, UDate&) const` - - `UBool icu::TimeArrayTimeZoneRule::getFinalStart(int32_t, int32_t, UDate&) const override` -- **`bool icu::TimeArrayTimeZoneRule::getFirstStart(int32_t, int32_t, UDate&) const`** - - `UBool icu::TimeArrayTimeZoneRule::getFirstStart(int32_t, int32_t, UDate&) const` - - `UBool icu::TimeArrayTimeZoneRule::getFirstStart(int32_t, int32_t, UDate&) const override` -- **`bool icu::TimeArrayTimeZoneRule::getNextStart(UDate, int32_t, int32_t, bool, UDate&) const`** - - `UBool icu::TimeArrayTimeZoneRule::getNextStart(UDate, int32_t, int32_t, UBool, UDate&) const` - - `UBool icu::TimeArrayTimeZoneRule::getNextStart(UDate, int32_t, int32_t, UBool, UDate&) const override` -- **`bool icu::TimeArrayTimeZoneRule::getPreviousStart(UDate, int32_t, int32_t, bool, UDate&) const`** - - `UBool icu::TimeArrayTimeZoneRule::getPreviousStart(UDate, int32_t, int32_t, UBool, UDate&) const` - - `UBool icu::TimeArrayTimeZoneRule::getPreviousStart(UDate, int32_t, int32_t, UBool, UDate&) const override` -- **`bool icu::TimeArrayTimeZoneRule::isEquivalentTo(const TimeZoneRule&) const`** - - `UBool icu::TimeArrayTimeZoneRule::isEquivalentTo(const TimeZoneRule&) const` - - `UBool icu::TimeArrayTimeZoneRule::isEquivalentTo(const TimeZoneRule&) const override` -- **`bool icu::TimeArrayTimeZoneRule::operator!=(const TimeZoneRule&) const`** - - `UBool icu::TimeArrayTimeZoneRule::operator!=(const TimeZoneRule&) const` - - `bool icu::TimeArrayTimeZoneRule::operator!=(const TimeZoneRule&) const override` -- **`bool icu::TimeArrayTimeZoneRule::operator==(const TimeZoneRule&) const`** - - `UBool icu::TimeArrayTimeZoneRule::operator==(const TimeZoneRule&) const` - - `bool icu::TimeArrayTimeZoneRule::operator==(const TimeZoneRule&) const override` -- **`bool icu::TimeZoneFormat::operator==(const Format&) const`** - - `UBool icu::TimeZoneFormat::operator==(const Format&) const` - - `bool icu::TimeZoneFormat::operator==(const Format&) const override` -- **`bool icu::TimeZoneNames::operator==(const TimeZoneNames&) const`** - - `UBool icu::TimeZoneNames::operator==(const TimeZoneNames&) const=0` - - `bool icu::TimeZoneNames::operator==(const TimeZoneNames&) const=0` -- **`bool icu::UCharCharacterIterator::hasNext()`** - - `UBool icu::UCharCharacterIterator::hasNext()` - - `UBool icu::UCharCharacterIterator::hasNext() override` -- **`bool icu::UCharCharacterIterator::hasPrevious()`** - - `UBool icu::UCharCharacterIterator::hasPrevious()` - - `UBool icu::UCharCharacterIterator::hasPrevious() override` -- **`bool icu::UCharCharacterIterator::operator==(const ForwardCharacterIterator&) const`** - - `UBool icu::UCharCharacterIterator::operator==(const ForwardCharacterIterator&) const` - - `bool icu::UCharCharacterIterator::operator==(const ForwardCharacterIterator&) const override` -- **`bool icu::UnicodeSet::contains(UChar32) const`** - - `UBool icu::UnicodeSet::contains(UChar32) const` - - `UBool icu::UnicodeSet::contains(UChar32) const override` -- **`bool icu::UnicodeString::hasMetaData() const`** - - `UBool icu::UnicodeString::hasMetaData() const` - - `UBool icu::UnicodeString::hasMetaData() const override` -- **`bool icu::UnicodeStringAppendable::appendCodePoint(UChar32)`** - - `UBool icu::UnicodeStringAppendable::appendCodePoint(UChar32)` - - `UBool icu::UnicodeStringAppendable::appendCodePoint(UChar32) override` -- **`bool icu::UnicodeStringAppendable::appendCodeUnit(char16_t)`** - - `UBool icu::UnicodeStringAppendable::appendCodeUnit(char16_t)` - - `UBool icu::UnicodeStringAppendable::appendCodeUnit(char16_t) override` -- **`bool icu::UnicodeStringAppendable::appendString(const char16_t*, int32_t)`** - - `UBool icu::UnicodeStringAppendable::appendString(const char16_t*, int32_t)` - - `UBool icu::UnicodeStringAppendable::appendString(const char16_t*, int32_t) override` -- **`bool icu::UnicodeStringAppendable::reserveAppendCapacity(int32_t)`** - - `UBool icu::UnicodeStringAppendable::reserveAppendCapacity(int32_t)` - - `UBool icu::UnicodeStringAppendable::reserveAppendCapacity(int32_t) override` -- **`bool icu::VTimeZone::getNextTransition(UDate, bool, TimeZoneTransition&) const`** - - `UBool icu::VTimeZone::getNextTransition(UDate, UBool, TimeZoneTransition&) const` - - `UBool icu::VTimeZone::getNextTransition(UDate, UBool, TimeZoneTransition&) const override` -- **`bool icu::VTimeZone::getPreviousTransition(UDate, bool, TimeZoneTransition&) const`** - - `UBool icu::VTimeZone::getPreviousTransition(UDate, UBool, TimeZoneTransition&) const` - - `UBool icu::VTimeZone::getPreviousTransition(UDate, UBool, TimeZoneTransition&) const override` -- **`bool icu::VTimeZone::hasSameRules(const TimeZone&) const`** - - `UBool icu::VTimeZone::hasSameRules(const TimeZone&) const` - - `UBool icu::VTimeZone::hasSameRules(const TimeZone&) const override` -- **`bool icu::VTimeZone::inDaylightTime(UDate, UErrorCode&) const`** - - `UBool icu::VTimeZone::inDaylightTime(UDate, UErrorCode&) const` - - `UBool icu::VTimeZone::inDaylightTime(UDate, UErrorCode&) const override` -- **`bool icu::VTimeZone::operator==(const TimeZone&) const`** - - `UBool icu::VTimeZone::operator==(const TimeZone&) const` - - `bool icu::VTimeZone::operator==(const TimeZone&) const override` -- **`bool icu::VTimeZone::useDaylightTime() const`** - - `UBool icu::VTimeZone::useDaylightTime() const` - - `UBool icu::VTimeZone::useDaylightTime() const override` -- **`void icu::RuleBasedNumberFormat::setLenient(bool)`** - - `void icu::RuleBasedNumberFormat::setLenient(UBool)` - - `void icu::RuleBasedNumberFormat::setLenient(UBool) override` -- **`void icu::RuleBasedTimeZone::getOffset(UDate, bool, int32_t&, int32_t&, UErrorCode&) const`** - - `void icu::RuleBasedTimeZone::getOffset(UDate, UBool, int32_t&, int32_t&, UErrorCode&) const` - - `void icu::RuleBasedTimeZone::getOffset(UDate, UBool, int32_t&, int32_t&, UErrorCode&) const override` -- **`void icu::SimpleTimeZone::getOffset(UDate, bool, int32_t&, int32_t&, UErrorCode&) const`** - - `void icu::SimpleTimeZone::getOffset(UDate, UBool, int32_t&, int32_t&, UErrorCode&) const` - - `void icu::SimpleTimeZone::getOffset(UDate, UBool, int32_t&, int32_t&, UErrorCode&) const override` -- **`void icu::VTimeZone::getOffset(UDate, bool, int32_t&, int32_t&, UErrorCode&) const`** - - `void icu::VTimeZone::getOffset(UDate, UBool, int32_t&, int32_t&, UErrorCode&) const` - - `void icu::VTimeZone::getOffset(UDate, UBool, int32_t&, int32_t&, UErrorCode&) const override` -- **`void* icu::AnnualTimeZoneRule::clone() const`** - - `AnnualTimeZoneRule* icu::AnnualTimeZoneRule::clone() const` - - `AnnualTimeZoneRule* icu::AnnualTimeZoneRule::clone() const override` -- **`void* icu::BasicTimeZone::clone() const`** - - `BasicTimeZone* icu::BasicTimeZone::clone() const override=0` - - `BasicTimeZone* icu::BasicTimeZone::clone() const=0` -- **`void* icu::ChoiceFormat::clone() const`** - - `ChoiceFormat* icu::ChoiceFormat::clone() const` - - `ChoiceFormat* icu::ChoiceFormat::clone() const override` -- **`void* icu::CurrencyAmount::clone() const`** - - `CurrencyAmount* icu::CurrencyAmount::clone() const` - - `CurrencyAmount* icu::CurrencyAmount::clone() const override` -- **`void* icu::CurrencyUnit::clone() const`** - - `CurrencyUnit* icu::CurrencyUnit::clone() const` - - `CurrencyUnit* icu::CurrencyUnit::clone() const override` -- **`void* icu::DateFormat::clone() const`** - - `DateFormat* icu::DateFormat::clone() const override=0` - - `DateFormat* icu::DateFormat::clone() const=0` -- **`void* icu::DateIntervalFormat::clone() const`** - - `DateIntervalFormat* icu::DateIntervalFormat::clone() const` - - `DateIntervalFormat* icu::DateIntervalFormat::clone() const override` -- **`void* icu::GregorianCalendar::clone() const`** - - `GregorianCalendar* icu::GregorianCalendar::clone() const` - - `GregorianCalendar* icu::GregorianCalendar::clone() const override` -- **`void* icu::InitialTimeZoneRule::clone() const`** - - `InitialTimeZoneRule* icu::InitialTimeZoneRule::clone() const` - - `InitialTimeZoneRule* icu::InitialTimeZoneRule::clone() const override` -- **`void* icu::MeasureFormat::clone() const`** - - `MeasureFormat* icu::MeasureFormat::clone() const` - - `MeasureFormat* icu::MeasureFormat::clone() const override` -- **`void* icu::MessageFormat::clone() const`** - - `MessageFormat* icu::MessageFormat::clone() const` - - `MessageFormat* icu::MessageFormat::clone() const override` -- **`void* icu::NumberFormat::clone() const`** - - `NumberFormat* icu::NumberFormat::clone() const override=0` - - `NumberFormat* icu::NumberFormat::clone() const=0` -- **`void* icu::PluralFormat::clone() const`** - - `PluralFormat* icu::PluralFormat::clone() const` - - `PluralFormat* icu::PluralFormat::clone() const override` -- **`void* icu::RuleBasedBreakIterator::clone() const`** - - `RuleBasedBreakIterator* icu::RuleBasedBreakIterator::clone() const` - - `RuleBasedBreakIterator* icu::RuleBasedBreakIterator::clone() const override` -- **`void* icu::RuleBasedBreakIterator::createBufferClone(void*, int32_t&, UErrorCode&)`** - - `RuleBasedBreakIterator* icu::RuleBasedBreakIterator::createBufferClone(void*, int32_t&, UErrorCode&)` - - `RuleBasedBreakIterator* icu::RuleBasedBreakIterator::createBufferClone(void*, int32_t&, UErrorCode&) override` -- **`void* icu::RuleBasedCollator::clone() const`** - - `RuleBasedCollator* icu::RuleBasedCollator::clone() const` - - `RuleBasedCollator* icu::RuleBasedCollator::clone() const override` -- **`void* icu::RuleBasedNumberFormat::clone() const`** - - `RuleBasedNumberFormat* icu::RuleBasedNumberFormat::clone() const` - - `RuleBasedNumberFormat* icu::RuleBasedNumberFormat::clone() const override` -- **`void* icu::RuleBasedTimeZone::clone() const`** - - `RuleBasedTimeZone* icu::RuleBasedTimeZone::clone() const` - - `RuleBasedTimeZone* icu::RuleBasedTimeZone::clone() const override` -- **`void* icu::SelectFormat::clone() const`** - - `SelectFormat* icu::SelectFormat::clone() const` - - `SelectFormat* icu::SelectFormat::clone() const override` -- **`void* icu::SimpleDateFormat::clone() const`** - - `SimpleDateFormat* icu::SimpleDateFormat::clone() const` - - `SimpleDateFormat* icu::SimpleDateFormat::clone() const override` -- **`void* icu::SimpleTimeZone::clone() const`** - - `SimpleTimeZone* icu::SimpleTimeZone::clone() const` - - `SimpleTimeZone* icu::SimpleTimeZone::clone() const override` -- **`void* icu::StringCharacterIterator::clone() const`** - - `StringCharacterIterator* icu::StringCharacterIterator::clone() const` - - `StringCharacterIterator* icu::StringCharacterIterator::clone() const override` -- **`void* icu::StringSearch::safeClone() const`** - - `StringSearch* icu::StringSearch::safeClone() const` - - `StringSearch* icu::StringSearch::safeClone() const override` -- **`void* icu::TimeArrayTimeZoneRule::clone() const`** - - `TimeArrayTimeZoneRule* icu::TimeArrayTimeZoneRule::clone() const` - - `TimeArrayTimeZoneRule* icu::TimeArrayTimeZoneRule::clone() const override` -- **`void* icu::TimeUnit::clone() const`** - - `TimeUnit* icu::TimeUnit::clone() const` - - `TimeUnit* icu::TimeUnit::clone() const override` -- **`void* icu::TimeUnitAmount::clone() const`** - - `TimeUnitAmount* icu::TimeUnitAmount::clone() const` - - `TimeUnitAmount* icu::TimeUnitAmount::clone() const override` -- **`void* icu::TimeUnitFormat::clone() const`** - - `TimeUnitFormat* icu::TimeUnitFormat::clone() const` - - `TimeUnitFormat* icu::TimeUnitFormat::clone() const override` -- **`void* icu::TimeZoneFormat::clone() const`** - - `TimeZoneFormat* icu::TimeZoneFormat::clone() const` - - `TimeZoneFormat* icu::TimeZoneFormat::clone() const override` -- **`void* icu::UCharCharacterIterator::clone() const`** - - `UCharCharacterIterator* icu::UCharCharacterIterator::clone() const` - - `UCharCharacterIterator* icu::UCharCharacterIterator::clone() const override` -- **`void* icu::UnicodeFilter::clone() const`** - - `UnicodeFilter* icu::UnicodeFilter::clone() const override=0` - - `UnicodeFilter* icu::UnicodeFilter::clone() const=0` -- **`void* icu::UnicodeSet::clone() const`** - - `UnicodeSet* icu::UnicodeSet::clone() const` - - `UnicodeSet* icu::UnicodeSet::clone() const override` -- **`void* icu::UnicodeString::clone() const`** - - `UnicodeString* icu::UnicodeString::clone() const` - - `UnicodeString* icu::UnicodeString::clone() const override` -- **`void* icu::VTimeZone::clone() const`** - - `VTimeZone* icu::VTimeZone::clone() const` - - `VTimeZone* icu::VTimeZone::clone() const override` ## Colophon -Contents generated by StableAPI tool on Wed Sep 29 11:59:13 PDT 2021 +Contents generated by StableAPI tool on Thu Mar 10 11:13:13 PST 2022 Copyright © 2019 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html diff --git a/tools/release/java/src/main/java/com/ibm/icu/dev/tools/docs/StableAPI.java b/tools/release/java/src/main/java/com/ibm/icu/dev/tools/docs/StableAPI.java index eafe0f84985..e2af6258954 100644 --- a/tools/release/java/src/main/java/com/ibm/icu/dev/tools/docs/StableAPI.java +++ b/tools/release/java/src/main/java/com/ibm/icu/dev/tools/docs/StableAPI.java @@ -352,6 +352,10 @@ public class StableAPI { } // always truncate to major # for comparing tags. result = truncVersion; + if (maj >= 71) { + // Clear minor and micro version in API change report. + milestoneOf = ""; + } } else { // old scheme - 1.0.* .. 4.8.* String truncVersion = "ICU " + maj + "." + min;