# ICU4C API Comparison: ICU 59 with ICU 60

## Removed from ICU 59

File | API | ICU 59 | ICU 60
--- | --- | --- | ---
decimfmt.h | `enum` icu::DecimalFormat::ERoundingMode {} | Stable ICU 2.4 | (moved to numfmt.h)
decimfmt.h | `enum` icu::DecimalFormat::ERoundingMode::kRoundCeiling | Stable ICU 2.4 | (moved to numfmt.h)
decimfmt.h | `enum` icu::DecimalFormat::ERoundingMode::kRoundDown | Stable ICU 2.4 | (moved to numfmt.h)
decimfmt.h | `enum` icu::DecimalFormat::ERoundingMode::kRoundFloor | Stable ICU 2.4 | (moved to numfmt.h)
decimfmt.h | `enum` icu::DecimalFormat::ERoundingMode::kRoundHalfDown | Stable ICU 2.4 | (moved to numfmt.h)
decimfmt.h | `enum` icu::DecimalFormat::ERoundingMode::kRoundHalfEven | Stable ICU 2.4 | (moved to numfmt.h)
decimfmt.h | `enum` icu::DecimalFormat::ERoundingMode::kRoundHalfUp | Stable ICU 2.4 | (moved to numfmt.h)
decimfmt.h | `enum` icu::DecimalFormat::ERoundingMode::kRoundUnnecessary | Stable ICU 4.8 | (moved to numfmt.h)
decimfmt.h | `enum` icu::DecimalFormat::ERoundingMode::kRoundUp | Stable ICU 2.4 | (moved to numfmt.h)
platform.h | `#define` U_IOSTREAM_SOURCE | Internal | (missing)
plurrule.h | UnicodeString icu::PluralRules::select(const FixedDecimal&) | Internal | (missing)
ucasemap.h | `#define` U_TITLECASE_NO_BREAK_ADJUSTMENT | Stable ICU 3.8 | (moved to new stringoptions.h)
ucasemap.h | `#define` U_TITLECASE_NO_LOWERCASE | Stable ICU 3.8 | (moved to new stringoptions.h)
ucasemap.h | `#define` UCASEMAP_OMIT_UNCHANGED_TEXT | Draft ICU 59 | (missing)
uchar.h | `#define` U_FOLD_CASE_DEFAULT | Stable ICU 2.0 | (moved to new stringoptions.h)
uchar.h | `#define` U_FOLD_CASE_EXCLUDE_SPECIAL_I | Stable ICU 2.0 | (moved to new stringoptions.h)
unorm2.h | `#define` U_COMPARE_CODE_POINT_ORDER | Stable ICU 2.2 | (moved to new stringoptions.h)
unorm2.h | `#define` U_COMPARE_IGNORE_CASE | Stable ICU 2.2 | (moved to new stringoptions.h)
unorm2.h | `#define` UNORM_INPUT_IS_FCD | Stable ICU 2.2 | (moved to new stringoptions.h)
ustring.h | `#define` U_COMPARE_CODE_POINT_ORDER | Stable ICU 2.2 | (moved to new stringoptions.h)

(jump back to top)

## Deprecated or Obsoleted in ICU 60

File | API | ICU 59 | ICU 60
--- | --- | --- | ---
filteredbrk.h | BreakIterator* icu::FilteredBreakIteratorBuilder::build(BreakIterator*, UErrorCode&) | Stable ICU 56 | Deprecated ICU 60
filteredbrk.h | `static` FilteredBreakIteratorBuilder* icu::FilteredBreakIteratorBuilder::createInstance(UErrorCode&) | Stable ICU 56 | Deprecated ICU 60
utf_old.h | `#define` U_HIDE_OBSOLETE_UTF_OLD_H | (missing) | Deprecated ICU 2.4

(jump back to top)

## Changed in ICU 60 (old, new)

File | API | ICU 59 | ICU 60
--- | --- | --- | ---
filteredbrk.h | BreakIterator* icu::FilteredBreakIteratorBuilder::build(BreakIterator*, UErrorCode&) | Stable ICU 56 | Deprecated ICU 60
filteredbrk.h | `static` FilteredBreakIteratorBuilder* icu::FilteredBreakIteratorBuilder::createInstance(UErrorCode&) | Stable ICU 56 | Deprecated ICU 60
measfmt.h | UnicodeString icu::MeasureFormat::getUnitDisplayName(const MeasureUnit&, UErrorCode&) | Draft→Stable ICU 58
ubiditransform.h | UBiDiTransform* ubiditransform_open(UErrorCode*) | Draft→Stable ICU 58
ubiditransform.h | `enum` UBiDiMirroring::UBIDI_MIRRORING_OFF | Draft→Stable ICU 58
ubiditransform.h | `enum` UBiDiMirroring::UBIDI_MIRRORING_ON | Draft→Stable ICU 58
ubiditransform.h | `enum` UBiDiOrder::UBIDI_LOGICAL | Draft→Stable ICU 58
ubiditransform.h | `enum` UBiDiOrder::UBIDI_VISUAL | Draft→Stable ICU 58
ubiditransform.h | uint32_t ubiditransform_transform(UBiDiTransform*, const UChar*, int32_t, UChar*, int32_t, UBiDiLevel, UBiDiOrder, UBiDiLevel, UBiDiOrder, UBiDiMirroring, uint32_t, UErrorCode*) | Draft→Stable ICU 58
ubiditransform.h | void ubiditransform_close(UBiDiTransform*) | Draft→Stable ICU 58
udisplaycontext.h | `enum` UDisplayContext::UDISPCTX_NO_SUBSTITUTE | Draft→Stable ICU 58
udisplaycontext.h | `enum` UDisplayContext::UDISPCTX_SUBSTITUTE | Draft→Stable ICU 58
udisplaycontext.h | `enum` UDisplayContextType::UDISPCTX_TYPE_SUBSTITUTE_HANDLING | Draft→Stable ICU 58
uspoof.h | URestrictionLevel uspoof_getCheckResultRestrictionLevel(const USpoofCheckResult*, UErrorCode*) | Draft→Stable ICU 58
uspoof.h | USpoofCheckResult* uspoof_openCheckResult(UErrorCode*) | Draft→Stable ICU 58
uspoof.h | U_NAMESPACE_END int32_t uspoof_getCheckResultChecks(const USpoofCheckResult*, UErrorCode*) | Draft→Stable ICU 58
uspoof.h | const USet* uspoof_getCheckResultNumerics(const USpoofCheckResult*, UErrorCode*) | Draft→Stable ICU 58
uspoof.h | `enum` USpoofChecks::USPOOF_CONFUSABLE | Draft→Stable ICU 58
uspoof.h | int32_t uspoof_check2(const USpoofChecker*, const UChar*, int32_t, USpoofCheckResult*, UErrorCode*) | Draft→Stable ICU 58
uspoof.h | int32_t uspoof_check2UTF8(const USpoofChecker*, const char*, int32_t, USpoofCheckResult*, UErrorCode*) | Draft→Stable ICU 58
uspoof.h | int32_t uspoof_check2UnicodeString(const USpoofChecker*, const icu::UnicodeString&, USpoofCheckResult*, UErrorCode*) | Draft→Stable ICU 58
uspoof.h | void uspoof_closeCheckResult(USpoofCheckResult*) | Draft→Stable ICU 58

(jump back to top)

## Promoted to stable in ICU 60

File | API | ICU 59 | ICU 60
--- | --- | --- | ---
measfmt.h | UnicodeString icu::MeasureFormat::getUnitDisplayName(const MeasureUnit&, UErrorCode&) | Draft→Stable ICU 58
numfmt.h | `enum` icu::NumberFormat::ERoundingMode {} | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundCeiling | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundDown | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundFloor | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundHalfDown | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundHalfEven | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundHalfUp | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundUnnecessary | (moved from decimfmt.h) | Stable ICU 4.8
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundUp | (moved from decimfmt.h) | Stable ICU 2.4
ubiditransform.h | UBiDiTransform* ubiditransform_open(UErrorCode*) | Draft→Stable ICU 58
ubiditransform.h | `enum` UBiDiMirroring::UBIDI_MIRRORING_OFF | Draft→Stable ICU 58
ubiditransform.h | `enum` UBiDiMirroring::UBIDI_MIRRORING_ON | Draft→Stable ICU 58
ubiditransform.h | `enum` UBiDiOrder::UBIDI_LOGICAL | Draft→Stable ICU 58
ubiditransform.h | `enum` UBiDiOrder::UBIDI_VISUAL | Draft→Stable ICU 58
ubiditransform.h | uint32_t ubiditransform_transform(UBiDiTransform*, const UChar*, int32_t, UChar*, int32_t, UBiDiLevel, UBiDiOrder, UBiDiLevel, UBiDiOrder, UBiDiMirroring, uint32_t, UErrorCode*) | Draft→Stable ICU 58
ubiditransform.h | void ubiditransform_close(UBiDiTransform*) | Draft→Stable ICU 58
uchar.h | `enum` UBlockCode::UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UBlockCode::UBLOCK_KANA_EXTENDED_A | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UBlockCode::UBLOCK_MASARAM_GONDI | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UBlockCode::UBLOCK_NUSHU | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UBlockCode::UBLOCK_SOYOMBO | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UBlockCode::UBLOCK_SYRIAC_SUPPLEMENT | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UBlockCode::UBLOCK_ZANABAZAR_SQUARE | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_BHA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_JA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_LLA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_LLLA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_NGA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_NNA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_NNNA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_NYA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_RA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_SSA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_TTA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UProperty::UCHAR_EMOJI_COMPONENT | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UProperty::UCHAR_PREPENDED_CONCATENATION_MARK | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UProperty::UCHAR_REGIONAL_INDICATOR | (missing) | Stable ICU 60 | (Born Stable)
udisplaycontext.h | `enum` UDisplayContext::UDISPCTX_NO_SUBSTITUTE | Draft→Stable ICU 58
udisplaycontext.h | `enum` UDisplayContext::UDISPCTX_SUBSTITUTE | Draft→Stable ICU 58
udisplaycontext.h | `enum` UDisplayContextType::UDISPCTX_TYPE_SUBSTITUTE_HANDLING | Draft→Stable ICU 58
uscript.h | `enum` UScriptCode::USCRIPT_MASARAM_GONDI | (missing) | Stable ICU 60 | (Born Stable)
uscript.h | `enum` UScriptCode::USCRIPT_SOYOMBO | (missing) | Stable ICU 60 | (Born Stable)
uscript.h | `enum` UScriptCode::USCRIPT_ZANABAZAR_SQUARE | (missing) | Stable ICU 60 | (Born Stable)
uspoof.h | URestrictionLevel uspoof_getCheckResultRestrictionLevel(const USpoofCheckResult*, UErrorCode*) | Draft→Stable ICU 58
uspoof.h | USpoofCheckResult* uspoof_openCheckResult(UErrorCode*) | Draft→Stable ICU 58
uspoof.h | U_NAMESPACE_END int32_t uspoof_getCheckResultChecks(const USpoofCheckResult*, UErrorCode*) | Draft→Stable ICU 58
uspoof.h | const USet* uspoof_getCheckResultNumerics(const USpoofCheckResult*, UErrorCode*) | Draft→Stable ICU 58
uspoof.h | `enum` USpoofChecks::USPOOF_CONFUSABLE | Draft→Stable ICU 58
uspoof.h | int32_t uspoof_check2(const USpoofChecker*, const UChar*, int32_t, USpoofCheckResult*, UErrorCode*) | Draft→Stable ICU 58
uspoof.h | int32_t uspoof_check2UTF8(const USpoofChecker*, const char*, int32_t, USpoofCheckResult*, UErrorCode*) | Draft→Stable ICU 58
uspoof.h | int32_t uspoof_check2UnicodeString(const USpoofChecker*, const icu::UnicodeString&, USpoofCheckResult*, UErrorCode*) | Draft→Stable ICU 58
uspoof.h | void uspoof_closeCheckResult(USpoofCheckResult*) | Draft→Stable ICU 58

(jump back to top)

## Added in ICU 60

File | API | ICU 59 | ICU 60
--- | --- | --- | ---
bytestream.h | icu::StringByteSink< StringClass >::StringByteSink(StringClass*, int32_t) | (missing) | Draft ICU 60
casemap.h | `static` void icu::CaseMap::utf8Fold(uint32_t, StringPiece, ByteSink&, Edits*, UErrorCode&) | (missing) | Draft ICU 60
casemap.h | `static` void icu::CaseMap::utf8ToLower(const char*, uint32_t, StringPiece, ByteSink&, Edits*, UErrorCode&) | (missing) | Draft ICU 60
casemap.h | `static` void icu::CaseMap::utf8ToTitle(const char*, uint32_t, BreakIterator*, StringPiece, ByteSink&, Edits*, UErrorCode&) | (missing) | Draft ICU 60
casemap.h | `static` void icu::CaseMap::utf8ToUpper(const char*, uint32_t, StringPiece, ByteSink&, Edits*, UErrorCode&) | (missing) | Draft ICU 60
currunit.h | icu::CurrencyUnit::CurrencyUnit() | (missing) | Draft ICU 60
currunit.h | icu::CurrencyUnit::CurrencyUnit(const MeasureUnit&, UErrorCode&) | (missing) | Draft ICU 60
dcfmtsym.h | icu::DecimalFormatSymbols::DecimalFormatSymbols(const Locale&, const NumberingSystem&, UErrorCode&) | (missing) | Draft ICU 60
edits.h | Edits& icu::Edits::mergeAndAppend(const Edits&, const Edits&, UErrorCode&) | (missing) | Draft ICU 60
edits.h | Edits& icu::Edits::operator=(Edits&&) | (missing) | Draft ICU 60
edits.h | Edits& icu::Edits::operator=(const Edits&) | (missing) | Draft ICU 60
edits.h | icu::Edits::Edits(Edits&&) | (missing) | Draft ICU 60
edits.h | icu::Edits::Edits(const Edits&) | (missing) | Draft ICU 60
edits.h | int32_t icu::Edits::numberOfChanges() | (missing) | Draft ICU 60
filteredbrk.h | BreakIterator* icu::FilteredBreakIteratorBuilder::wrapIteratorWithFilter(BreakIterator*, UErrorCode&) | (missing) | Draft ICU 60
filteredbrk.h | `static` FilteredBreakIteratorBuilder* icu::FilteredBreakIteratorBuilder::createEmptyInstance(UErrorCode&) | (missing) | Draft ICU 60
normalizer2.h | UBool icu::FilteredNormalizer2::isNormalizedUTF8(StringPiece, UErrorCode&) | (missing) | Draft ICU 60
normalizer2.h | UBool icu::Normalizer2::isNormalizedUTF8(StringPiece, UErrorCode&) | (missing) | Draft ICU 60
normalizer2.h | void icu::FilteredNormalizer2::normalizeUTF8(uint32_t, StringPiece, ByteSink&, Edits*, UErrorCode&) | (missing) | Draft ICU 60
normalizer2.h | void icu::Normalizer2::normalizeUTF8(uint32_t, StringPiece, ByteSink&, Edits*, UErrorCode&) | (missing) | Draft ICU 60
nounit.h | UClassID icu::NoUnit::getDynamicClassID() | (missing) | Draft ICU 60
nounit.h | UObject* icu::NoUnit::clone() | (missing) | Draft ICU 60
nounit.h | icu::NoUnit::NoUnit(const NoUnit&) | (missing) | Draft ICU 60
nounit.h | icu::NoUnit::~NoUnit() | (missing) | Draft ICU 60
nounit.h | `static` NoUnit icu::NoUnit::base() | (missing) | Draft ICU 60
nounit.h | `static` NoUnit icu::NoUnit::percent() | (missing) | Draft ICU 60
nounit.h | `static` NoUnit icu::NoUnit::permille() | (missing) | Draft ICU 60
nounit.h | `static` UClassID icu::NoUnit::getStaticClassID() | (missing) | Draft ICU 60
numberformatter.h | Appendable& icu::number::FormattedNumber::appendTo(Appendable&) | (missing) | Draft ICU 60
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::adoptSymbols(const NumberingSystem*) | (missing) | Draft ICU 60
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::adoptUnit(const icu::MeasureUnit*) | (missing) | Draft ICU 60
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::decimal(const UNumberDecimalSeparatorDisplay&) | (missing) | Draft ICU 60
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::grouping(const Grouper&) | (missing) | Internal
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::integerWidth(const IntegerWidth&) | (missing) | Draft ICU 60
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::notation(const Notation&) | (missing) | Draft ICU 60
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::padding(const impl::Padder&) | (missing) | Internal ICU 60
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::rounding(const Rounder&) | (missing) | Draft ICU 60
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::sign(const UNumberSignDisplay&) | (missing) | Draft ICU 60
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::symbols(const DecimalFormatSymbols&) | (missing) | Draft ICU 60
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::threshold(int32_t) | (missing) | Internal ICU 60
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::unit(const icu::MeasureUnit&) | (missing) | Draft ICU 60
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::unitWidth(const UNumberUnitWidth&) | (missing) | Draft ICU 60
numberformatter.h | FormattedNumber icu::number::LocalizedNumberFormatter::formatDecimal(StringPiece, UErrorCode&) | (missing) | Draft ICU 60
numberformatter.h | FormattedNumber icu::number::LocalizedNumberFormatter::formatDouble(double, UErrorCode&) | (missing) | Draft ICU 60
numberformatter.h | FormattedNumber icu::number::LocalizedNumberFormatter::formatInt(int64_t, UErrorCode&) | (missing) | Draft ICU 60
numberformatter.h | IntegerWidth icu::number::IntegerWidth::truncateAt(int32_t) | (missing) | Draft ICU 60
numberformatter.h | LocalizedNumberFormatter icu::number::UnlocalizedNumberFormatter::locale(const icu::Locale&) | (missing) | Draft ICU 60
numberformatter.h | Rounder icu::number::CurrencyRounder::withCurrency(const CurrencyUnit&) | (missing) | Draft ICU 60
numberformatter.h | Rounder icu::number::FractionRounder::withMaxDigits(int32_t) | (missing) | Draft ICU 60
numberformatter.h | Rounder icu::number::FractionRounder::withMinDigits(int32_t) | (missing) | Draft ICU 60
numberformatter.h | Rounder icu::number::IncrementRounder::withMinFraction(int32_t) | (missing) | Draft ICU 60
numberformatter.h | Rounder icu::number::Rounder::withMode(UNumberFormatRoundingMode) | (missing) | Draft ICU 60
numberformatter.h | ScientificNotation icu::number::ScientificNotation::withExponentSignDisplay(UNumberSignDisplay) | (missing) | Draft ICU 60
numberformatter.h | ScientificNotation icu::number::ScientificNotation::withMinExponentDigits(int32_t) | (missing) | Draft ICU 60
numberformatter.h | SymbolsWrapper& icu::number::impl::SymbolsWrapper::operator=(const SymbolsWrapper&) | (missing) | Internal
numberformatter.h | UBool icu::number::NumberFormatterSettings< Derived >::copyErrorTo(UErrorCode&) | (missing) | Draft ICU 60
numberformatter.h | UBool icu::number::impl::SymbolsWrapper::copyErrorTo(UErrorCode&) | (missing) | Internal
numberformatter.h | UnicodeString icu::number::FormattedNumber::toString() | (missing) | Draft ICU 60
numberformatter.h | bool icu::number::impl::SymbolsWrapper::isDecimalFormatSymbols() | (missing) | Internal
numberformatter.h | bool icu::number::impl::SymbolsWrapper::isNumberingSystem() | (missing) | Internal
numberformatter.h | const DecimalFormatSymbols* icu::number::impl::SymbolsWrapper::getDecimalFormatSymbols() | (missing) | Internal
numberformatter.h | const NumberingSystem* icu::number::impl::SymbolsWrapper::getNumberingSystem() | (missing) | Internal
numberformatter.h | `enum` UNumberDecimalSeparatorDisplay::UNUM_DECIMAL_SEPARATOR_ALWAYS | (missing) | Draft ICU 60
numberformatter.h | `enum` UNumberDecimalSeparatorDisplay::UNUM_DECIMAL_SEPARATOR_AUTO | (missing) | Draft ICU 60
numberformatter.h | `enum` UNumberDecimalSeparatorDisplay::UNUM_DECIMAL_SEPARATOR_COUNT | (missing) | Internal ICU 60
numberformatter.h | `enum` UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_ALWAYS | (missing) | Draft ICU 60
numberformatter.h | `enum` UNumberSignDisplay::UNUM_SIGN_ACCOUNTING | (missing) | Draft ICU 60
numberformatter.h | `enum` UNumberSignDisplay::UNUM_SIGN_ALWAYS | (missing) | Draft ICU 60
numberformatter.h | `enum` UNumberSignDisplay::UNUM_SIGN_AUTO | (missing) | Draft ICU 60
numberformatter.h | `enum` UNumberSignDisplay::UNUM_SIGN_COUNT | (missing) | Internal ICU 60
numberformatter.h | `enum` UNumberSignDisplay::UNUM_SIGN_NEVER | (missing) | Draft ICU 60
numberformatter.h | `enum` UNumberUnitWidth::UNUM_UNIT_WIDTH_COUNT | (missing) | Internal ICU 60
numberformatter.h | `enum` UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME | (missing) | Draft ICU 60
numberformatter.h | `enum` UNumberUnitWidth::UNUM_UNIT_WIDTH_HIDDEN | (missing) | Draft ICU 60
numberformatter.h | `enum` UNumberUnitWidth::UNUM_UNIT_WIDTH_ISO_CODE | (missing) | Draft ICU 60
numberformatter.h | `enum` UNumberUnitWidth::UNUM_UNIT_WIDTH_NARROW | (missing) | Draft ICU 60
numberformatter.h | `enum` UNumberUnitWidth::UNUM_UNIT_WIDTH_SHORT | (missing) | Draft ICU 60
numberformatter.h | icu::number::FormattedNumber::~FormattedNumber() | (missing) | Draft ICU 60
numberformatter.h | icu::number::LocalizedNumberFormatter::LocalizedNumberFormatter(const LocalizedNumberFormatter&) | (missing) | Draft ICU 60
numberformatter.h | icu::number::LocalizedNumberFormatter::~LocalizedNumberFormatter() | (missing) | Draft ICU 60
numberformatter.h | icu::number::NumberFormatter::NumberFormatter()=delete | (missing) | Draft ICU 60
numberformatter.h | icu::number::UnlocalizedNumberFormatter::UnlocalizedNumberFormatter(const UnlocalizedNumberFormatter&) | (missing) | Draft ICU 60
numberformatter.h | icu::number::impl::SymbolsWrapper::SymbolsWrapper() | (missing) | Internal
numberformatter.h | icu::number::impl::SymbolsWrapper::SymbolsWrapper(const SymbolsWrapper&) | (missing) | Internal
numberformatter.h | icu::number::impl::SymbolsWrapper::~SymbolsWrapper() | (missing) | Internal
numberformatter.h | `static` CompactNotation icu::number::Notation::compactLong() | (missing) | Draft ICU 60
numberformatter.h | `static` CompactNotation icu::number::Notation::compactShort() | (missing) | Draft ICU 60
numberformatter.h | `static` CurrencyRounder icu::number::Rounder::currency(UCurrencyUsage) | (missing) | Draft ICU 60
numberformatter.h | `static` DigitRounder icu::number::Rounder::fixedDigits(int32_t) | (missing) | Draft ICU 60
numberformatter.h | `static` DigitRounder icu::number::Rounder::maxDigits(int32_t) | (missing) | Draft ICU 60
numberformatter.h | `static` DigitRounder icu::number::Rounder::minDigits(int32_t) | (missing) | Draft ICU 60
numberformatter.h | `static` DigitRounder icu::number::Rounder::minMaxDigits(int32_t, int32_t) | (missing) | Draft ICU 60
numberformatter.h | `static` FractionRounder icu::number::Rounder::fixedFraction(int32_t) | (missing) | Draft ICU 60
numberformatter.h | `static` FractionRounder icu::number::Rounder::integer() | (missing) | Draft ICU 60
numberformatter.h | `static` FractionRounder icu::number::Rounder::maxFraction(int32_t) | (missing) | Draft ICU 60
numberformatter.h | `static` FractionRounder icu::number::Rounder::minFraction(int32_t) | (missing) | Draft ICU 60
numberformatter.h | `static` FractionRounder icu::number::Rounder::minMaxFraction(int32_t, int32_t) | (missing) | Draft ICU 60
numberformatter.h | `static` Grouper icu::number::Grouper::defaults() | (missing) | Internal
numberformatter.h | `static` Grouper icu::number::Grouper::minTwoDigits() | (missing) | Internal
numberformatter.h | `static` Grouper icu::number::Grouper::none() | (missing) | Internal
numberformatter.h | `static` IncrementRounder icu::number::Rounder::increment(double) | (missing) | Draft ICU 60
numberformatter.h | `static` IntegerWidth icu::number::IntegerWidth::zeroFillTo(int32_t) | (missing) | Draft ICU 60
numberformatter.h | `static` LocalizedNumberFormatter icu::number::NumberFormatter::withLocale(const Locale&) | (missing) | Draft ICU 60
numberformatter.h | `static` Padder icu::number::impl::Padder::codePoints(UChar32, int32_t, UNumberFormatPadPosition) | (missing) | Internal
numberformatter.h | `static` Padder icu::number::impl::Padder::none() | (missing) | Internal
numberformatter.h | `static` Rounder icu::number::Rounder::unlimited() | (missing) | Draft ICU 60
numberformatter.h | `static` ScientificNotation icu::number::Notation::engineering() | (missing) | Draft ICU 60
numberformatter.h | `static` ScientificNotation icu::number::Notation::scientific() | (missing) | Draft ICU 60
numberformatter.h | `static` SimpleNotation icu::number::Notation::simple() | (missing) | Draft ICU 60
numberformatter.h | `static` UnlocalizedNumberFormatter icu::number::NumberFormatter::with() | (missing) | Draft ICU 60
numberformatter.h | void icu::number::FormattedNumber::populateFieldPosition(FieldPosition&, UErrorCode&) | (missing) | Draft ICU 60
numberformatter.h | void icu::number::FormattedNumber::populateFieldPositionIterator(FieldPositionIterator&, UErrorCode&) | (missing) | Draft ICU 60
numberformatter.h | void icu::number::impl::SymbolsWrapper::setTo(const DecimalFormatSymbols&) | (missing) | Internal
numberformatter.h | void icu::number::impl::SymbolsWrapper::setTo(const NumberingSystem*) | (missing) | Internal
numfmt.h | ERoundingMode icu::NumberFormat::getRoundingMode() | (missing) | Draft ICU 60
numfmt.h | `enum` icu::NumberFormat::ERoundingMode {} | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundCeiling | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundDown | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundFloor | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundHalfDown | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundHalfEven | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundHalfUp | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundUnnecessary | (moved from decimfmt.h) | Stable ICU 4.8
numfmt.h | `enum` icu::NumberFormat::ERoundingMode::kRoundUp | (moved from decimfmt.h) | Stable ICU 2.4
numfmt.h | void icu::NumberFormat::setRoundingMode(ERoundingMode) | (missing) | Draft ICU 60
platform.h | `#define` U_CALLCONV_FPTR | (missing) | Internal
platform.h | `#define` U_PF_FUCHSIA | (missing) | Internal
plurrule.h | UnicodeString icu::PluralRules::select(const IFixedDecimal&) | (missing) | Internal
rbbi.h | void icu::RuleBasedBreakIterator::dumpCache() | (missing) | Internal
rbnf.h | ERoundingMode icu::RuleBasedNumberFormat::getRoundingMode() | (missing) | Draft ICU 60
rbnf.h | void icu::RuleBasedNumberFormat::setRoundingMode(ERoundingMode) | (missing) | Draft ICU 60
stringoptions.h | `#define` U_COMPARE_CODE_POINT_ORDER | (moved from unorm2.h, ustring.h) | Stable ICU 2.2
stringoptions.h | `#define` U_COMPARE_IGNORE_CASE | (moved from unorm2.h) | Stable ICU 2.2
stringoptions.h | `#define` U_EDITS_NO_RESET | (missing) | Draft ICU 60
stringoptions.h | `#define` U_FOLD_CASE_DEFAULT | (moved from uchar.h) | Stable ICU 2.0
stringoptions.h | `#define` U_FOLD_CASE_EXCLUDE_SPECIAL_I | (moved from moved from uchar.h) | Stable ICU 2.0
stringoptions.h | `#define` U_OMIT_UNCHANGED_TEXT | (missing) | Draft ICU 60
stringoptions.h | `#define` U_TITLECASE_ADJUST_TO_CASED | (missing) | Draft ICU 60
stringoptions.h | `#define` U_TITLECASE_NO_BREAK_ADJUSTMENT | (moved from ucasemap.h) | Stable ICU 3.8
stringoptions.h | `#define` U_TITLECASE_NO_LOWERCASE | (moved from ucasemap.h) | Stable ICU 3.8
stringoptions.h | `#define` U_TITLECASE_SENTENCES | (missing) | Draft ICU 60
stringoptions.h | `#define` U_TITLECASE_WHOLE_STRING | (missing) | Draft ICU 60
stringoptions.h | `#define` UNORM_INPUT_IS_FCD | (moved from unorm2.h) | Stable ICU 2.2
uchar.h | `enum` UBlockCode::UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UBlockCode::UBLOCK_KANA_EXTENDED_A | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UBlockCode::UBLOCK_MASARAM_GONDI | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UBlockCode::UBLOCK_NUSHU | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UBlockCode::UBLOCK_SOYOMBO | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UBlockCode::UBLOCK_SYRIAC_SUPPLEMENT | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UBlockCode::UBLOCK_ZANABAZAR_SQUARE | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_BHA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_JA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_LLA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_LLLA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_NGA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_NNA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_NNNA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_NYA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_RA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_SSA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UJoiningGroup::U_JG_MALAYALAM_TTA | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UProperty::UCHAR_EMOJI_COMPONENT | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UProperty::UCHAR_PREPENDED_CONCATENATION_MARK | (missing) | Stable ICU 60 | (Born Stable)
uchar.h | `enum` UProperty::UCHAR_REGIONAL_INDICATOR | (missing) | Stable ICU 60 | (Born Stable)
uscript.h | `enum` UScriptCode::USCRIPT_MASARAM_GONDI | (missing) | Stable ICU 60 | (Born Stable)
uscript.h | `enum` UScriptCode::USCRIPT_SOYOMBO | (missing) | Stable ICU 60 | (Born Stable)
uscript.h | `enum` UScriptCode::USCRIPT_ZANABAZAR_SQUARE | (missing) | Stable ICU 60 | (Born Stable)
utf_old.h | `#define` U_HIDE_OBSOLETE_UTF_OLD_H | (missing) | Deprecated ICU 2.4
utf16.h | `#define` U16_GET_OR_FFFD | (missing) | Draft ICU 60
utf16.h | `#define` U16_NEXT_OR_FFFD | (missing) | Draft ICU 60
utf16.h | `#define` U16_PREV_OR_FFFD | (missing) | Draft ICU 60
utf8.h | `#define` U8_IS_VALID_LEAD3_AND_T1 | (missing) | Internal
utf8.h | `#define` U8_IS_VALID_LEAD4_AND_T1 | (missing) | Internal
utf8.h | `#define` U8_LEAD3_T1_BITS | (missing) | Internal
utf8.h | `#define` U8_LEAD4_T1_BITS | (missing) | Internal

(jump back to top)

## Other existing drafts in ICU 60

File | API | ICU 59 | ICU 60
--- | --- | --- | ---
casemap.h | `static` int32_t icu::CaseMap::fold(uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&) | Draft ICU 59
casemap.h | `static` int32_t icu::CaseMap::toLower(const char*, uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&) | Draft ICU 59
casemap.h | `static` int32_t icu::CaseMap::toTitle(const char*, uint32_t, BreakIterator*, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&) | Draft ICU 59
casemap.h | `static` int32_t icu::CaseMap::toUpper(const char*, uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&) | Draft ICU 59
casemap.h | `static` int32_t icu::CaseMap::utf8Fold(uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&) | Draft ICU 59
casemap.h | `static` int32_t icu::CaseMap::utf8ToLower(const char*, uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&) | Draft ICU 59
casemap.h | `static` int32_t icu::CaseMap::utf8ToTitle(const char*, uint32_t, BreakIterator*, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&) | Draft ICU 59
casemap.h | `static` int32_t icu::CaseMap::utf8ToUpper(const char*, uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&) | Draft ICU 59
char16ptr.h | char16_t* icu::Char16Ptr::get() | Draft ICU 59
char16ptr.h | const char16_t* icu::ConstChar16Ptr::get() | Draft ICU 59
char16ptr.h | icu::Char16Ptr::Char16Ptr(char16_t*) | Draft ICU 59
char16ptr.h | icu::Char16Ptr::Char16Ptr(std::nullptr_t) | Draft ICU 59
char16ptr.h | icu::Char16Ptr::Char16Ptr(uint16_t*) | Draft ICU 59
char16ptr.h | icu::Char16Ptr::Char16Ptr(wchar_t*) | Draft ICU 59
char16ptr.h | icu::Char16Ptr::operator char16_t* () | Draft ICU 59
char16ptr.h | icu::Char16Ptr::~Char16Ptr() | Draft ICU 59
char16ptr.h | icu::ConstChar16Ptr::ConstChar16Ptr(const char16_t*) | Draft ICU 59
char16ptr.h | icu::ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t) | Draft ICU 59
char16ptr.h | icu::ConstChar16Ptr::ConstChar16Ptr(const uint16_t*) | Draft ICU 59
char16ptr.h | icu::ConstChar16Ptr::ConstChar16Ptr(const wchar_t*) | Draft ICU 59
char16ptr.h | icu::ConstChar16Ptr::operator const char16_t* () | Draft ICU 59
char16ptr.h | icu::ConstChar16Ptr::~ConstChar16Ptr() | Draft ICU 59
edits.h | Iterator icu::Edits::getCoarseChangesIterator() | Draft ICU 59
edits.h | Iterator icu::Edits::getCoarseIterator() | Draft ICU 59
edits.h | Iterator icu::Edits::getFineChangesIterator() | Draft ICU 59
edits.h | Iterator icu::Edits::getFineIterator() | Draft ICU 59
edits.h | UBool icu::Edits::copyErrorTo(UErrorCode&) | Draft ICU 59
edits.h | UBool icu::Edits::hasChanges() | Draft ICU 59
edits.h | icu::Edits::Edits() | Draft ICU 59
edits.h | icu::Edits::~Edits() | Draft ICU 59
edits.h | int32_t icu::Edits::lengthDelta() | Draft ICU 59
edits.h | void icu::Edits::addReplace(int32_t, int32_t) | Draft ICU 59
edits.h | void icu::Edits::addUnchanged(int32_t) | Draft ICU 59
edits.h | void icu::Edits::reset() | Draft ICU 59
localpointer.h | LocalArray<T>& icu::LocalArray< T >::moveFrom(LocalArray< T >&) | Draft ICU 56
localpointer.h | LocalPointer<T>& icu::LocalPointer< T >::moveFrom(LocalPointer< T >&) | Draft ICU 56
measfmt.h | void icu::MeasureFormat::parseObject(const UnicodeString&, Formattable&, ParsePosition&) | Draft ICU 53
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPoint(UErrorCode&) | Draft ICU 59
ubrk.h | UBreakIterator* ubrk_openBinaryRules(const uint8_t*, int32_t, const UChar*, int32_t, UErrorCode*) | Draft ICU 59
ubrk.h | int32_t ubrk_getBinaryRules(UBreakIterator*, uint8_t*, int32_t, UErrorCode*) | Draft ICU 59
unistr.h | UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const uint16_t*) | Draft ICU 59
unistr.h | UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const wchar_t*) | Draft ICU 59
unistr.h | UnicodeString& icu::UnicodeString::moveFrom(UnicodeString&) | Draft ICU 56
unistr.h | icu::UnicodeString::UnicodeString(const std::nullptr_t) | Draft ICU 59
unistr.h | icu::UnicodeString::UnicodeString(const std::nullptr_t, int32_t) | Draft ICU 59
unistr.h | icu::UnicodeString::UnicodeString(const uint16_t*, int32_t) | Draft ICU 59
unistr.h | icu::UnicodeString::UnicodeString(const wchar_t*, int32_t) | Draft ICU 59
unistr.h | icu::UnicodeString::UnicodeString(std::nullptr_t, int32_t, int32_t) | Draft ICU 59
unistr.h | icu::UnicodeString::UnicodeString(uint16_t*, int32_t, int32_t) | Draft ICU 59
unistr.h | icu::UnicodeString::UnicodeString(wchar_t*, int32_t, int32_t) | Draft ICU 59
unum.h | int32_t unum_formatDoubleForFields(const UNumberFormat*, double, UChar*, int32_t, UFieldPositionIterator*, UErrorCode*) | Draft ICU 59
upluralrules.h | UEnumeration* uplrules_getKeywords(const UPluralRules*, UErrorCode*) | Draft ICU 59
uregex.h | `enum` URegexpFlag::UREGEX_CANON_EQ | Draft ICU 2.4

(jump back to top)

## Signature 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.

(jump back to top)

Contents generated by StableAPI tool on Wed Oct 04 23:55:39 UTC 2017
Copyright (C) 2017, International Business Machines Corporation, All Rights Reserved.