ICU4C API Comparison: ICU 76 with ICU 77

Note Markdown format of this document is new for ICU 65.

Removed

Removed from ICU 76

FileAPIICU 76ICU 77
messageformat2_data_model.hBuilder& icu::message2::MFDataModel::Builder::addSelector(Expression&&, UErrorCode&)InternalICU 75(missing)
resbund.hconst Locale icu::ResourceBundle::getLocale(ULocDataLocaleType, UErrorCode&) constStableICU 2.8(missing)
timezone.hstatic const UnicodeString icu::TimeZone::getEquivalentID(const UnicodeString&, int32_t)StableICU 2.0(missing)
uset.hUnicodeString U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator* () constDraftICU 76(missing)

Deprecated

Deprecated or Obsoleted in ICU 77

FileAPIICU 76ICU 77

Changed

Changed in ICU 77 (old, new)

FileAPIICU 76ICU 77
numberformatter.hUnlocalizedNumberFormatter icu::number::LocalizedNumberFormatter::withoutLocale() &&Draft→StableICU 75
numberformatter.hUnlocalizedNumberFormatter icu::number::LocalizedNumberFormatter::withoutLocale() const &Draft→StableICU 75
numberrangeformatter.hUnlocalizedNumberRangeFormatter icu::number::LocalizedNumberRangeFormatter::withoutLocale() &&Draft→StableICU 75
numberrangeformatter.hUnlocalizedNumberRangeFormatter icu::number::LocalizedNumberRangeFormatter::withoutLocale() const &Draft→StableICU 75
simplenumberformatter.hvoid icu::number::SimpleNumber::setMaximumIntegerDigits(uint32_t, UErrorCode&)Draft→StableICU 75
uchar.hbool u_hasIDType(UChar32, UIdentifierType)Draft→StableICU 75
uchar.henum UIdentifierStatus::U_ID_STATUS_ALLOWEDDraft→StableICU 75
uchar.henum UIdentifierStatus::U_ID_STATUS_RESTRICTEDDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_DEFAULT_IGNORABLEDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_DEPRECATEDDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_EXCLUSIONDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_INCLUSIONDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_LIMITED_USEDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_NOT_CHARACTERDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_NOT_NFKCDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_NOT_XIDDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_OBSOLETEDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_RECOMMENDEDDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_TECHNICALDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_UNCOMMON_USEDraft→StableICU 75
uchar.henum UProperty::UCHAR_IDENTIFIER_STATUSDraft→StableICU 75
uchar.henum UProperty::UCHAR_IDENTIFIER_TYPEDraft→StableICU 75
uchar.hint32_t u_getIDTypes(UChar32, UIdentifierType*, int32_t, UErrorCode*)Draft→StableICU 75
uniset.hU_HEADER_NESTED_NAMESPACE::USetElementIterator icu::UnicodeSet::begin() constDraftICU 76DraftICU 77
uniset.hU_HEADER_NESTED_NAMESPACE::USetElementIterator icu::UnicodeSet::end() constDraftICU 76DraftICU 77
uset.hUSetElementIterator & U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator++()DraftICU 76DraftICU 77
uset.hUSetElementIterator U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator++(int)DraftICU 76DraftICU 77
uset.hUSetElementIterator U_HEADER_ONLY_NAMESPACE::USetElements::begin() constDraftICU 76DraftICU 77
uset.hUSetElementIterator U_HEADER_ONLY_NAMESPACE::USetElements::end() constDraftICU 76DraftICU 77
uset.hU_HEADER_ONLY_NAMESPACE::USetElementIterator::USetElementIterator(const USetElementIterator&)=defaultDraftICU 76DraftICU 77
uset.hU_HEADER_ONLY_NAMESPACE::USetElements::USetElements(const USet*)DraftICU 76DraftICU 77
uset.hU_HEADER_ONLY_NAMESPACE::USetElements::USetElements(const USetElements&)=defaultDraftICU 76DraftICU 77
uset.hbool U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator!=(const USetElementIterator&) constDraftICU 76DraftICU 77
uset.hbool U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator==(const USetElementIterator&) constDraftICU 76DraftICU 77
usimplenumberformatter.hvoid usnum_setMaximumIntegerDigits(USimpleNumber*, int32_t, UErrorCode*)Draft→StableICU 75

Promoted

Promoted to stable in ICU 77

FileAPIICU 76ICU 77
numberformatter.hUnlocalizedNumberFormatter icu::number::LocalizedNumberFormatter::withoutLocale() &&Draft→StableICU 75
numberformatter.hUnlocalizedNumberFormatter icu::number::LocalizedNumberFormatter::withoutLocale() const &Draft→StableICU 75
numberrangeformatter.hUnlocalizedNumberRangeFormatter icu::number::LocalizedNumberRangeFormatter::withoutLocale() &&Draft→StableICU 75
numberrangeformatter.hUnlocalizedNumberRangeFormatter icu::number::LocalizedNumberRangeFormatter::withoutLocale() const &Draft→StableICU 75
resbund.hLocale icu::ResourceBundle::getLocale(ULocDataLocaleType, UErrorCode&) const(missing)StableICU 2.8
simplenumberformatter.hvoid icu::number::SimpleNumber::setMaximumIntegerDigits(uint32_t, UErrorCode&)Draft→StableICU 75
timezone.hstatic UnicodeString icu::TimeZone::getEquivalentID(const UnicodeString&, int32_t)(missing)StableICU 2.0
uchar.hbool u_hasIDType(UChar32, UIdentifierType)Draft→StableICU 75
uchar.henum UIdentifierStatus::U_ID_STATUS_ALLOWEDDraft→StableICU 75
uchar.henum UIdentifierStatus::U_ID_STATUS_RESTRICTEDDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_DEFAULT_IGNORABLEDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_DEPRECATEDDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_EXCLUSIONDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_INCLUSIONDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_LIMITED_USEDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_NOT_CHARACTERDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_NOT_NFKCDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_NOT_XIDDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_OBSOLETEDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_RECOMMENDEDDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_TECHNICALDraft→StableICU 75
uchar.henum UIdentifierType::U_ID_TYPE_UNCOMMON_USEDraft→StableICU 75
uchar.henum UProperty::UCHAR_IDENTIFIER_STATUSDraft→StableICU 75
uchar.henum UProperty::UCHAR_IDENTIFIER_TYPEDraft→StableICU 75
uchar.hint32_t u_getIDTypes(UChar32, UIdentifierType*, int32_t, UErrorCode*)Draft→StableICU 75
usimplenumberformatter.hvoid usnum_setMaximumIntegerDigits(USimpleNumber*, int32_t, UErrorCode*)Draft→StableICU 75

Added

Added in ICU 77

FileAPIICU 76ICU 77
locid.hstatic Locale icu::Locale::createFromName(StringPiece)(missing)Internal
measunit.hMeasureUnit icu::MeasureUnit::withConstantDenominator(uint64_t, UErrorCode&) const(missing)DraftICU 77
measunit.hstatic MeasureUnit icu::MeasureUnit::getPortionPer1E9()(missing)DraftICU 77
measunit.hstatic MeasureUnit* icu::MeasureUnit::createPortionPer1E9(UErrorCode&)(missing)DraftICU 77
measunit.huint64_t icu::MeasureUnit::getConstantDenominator(UErrorCode&) const(missing)DraftICU 77
messageformat2_data_model.hBuilder& icu::message2::MFDataModel::Builder::addSelector(VariableName&&, UErrorCode&)(missing)InternalICU 75
resbund.hLocale icu::ResourceBundle::getLocale(ULocDataLocaleType, UErrorCode&) const(missing)StableICU 2.8
timezone.hstatic UnicodeString icu::TimeZone::getEquivalentID(const UnicodeString&, int32_t)(missing)StableICU 2.0
uset.hstd::u16string U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator* () const(missing)DraftICU 77
utypes.henum UErrorCode::U_MF_BAD_OPTION(missing)InternalICU 77

Other

Other existing drafts in ICU 77

FileAPIICU 76ICU 77
coll.hauto icu::Collator::equal_to() constDraftICU 76
coll.hauto icu::Collator::greater() constDraftICU 76
coll.hauto icu::Collator::greater_equal() constDraftICU 76
coll.hauto icu::Collator::less() constDraftICU 76
coll.hauto icu::Collator::less_equal() constDraftICU 76
coll.hauto icu::Collator::not_equal_to() constDraftICU 76
measfmt.hvoid icu::MeasureFormat::parseObject(const UnicodeString&, Formattable&, ParsePosition&) constDraftICU 53
measunit.hstatic MeasureUnit icu::MeasureUnit::getLightSpeed()DraftICU 76
measunit.hstatic MeasureUnit icu::MeasureUnit::getNight()DraftICU 76
measunit.hstatic MeasureUnit* icu::MeasureUnit::createLightSpeed(UErrorCode&)DraftICU 76
measunit.hstatic MeasureUnit* icu::MeasureUnit::createNight(UErrorCode&)DraftICU 76
uchar.henum UIndicConjunctBreak::U_INCB_CONSONANTDraftICU 76
uchar.henum UIndicConjunctBreak::U_INCB_EXTENDDraftICU 76
uchar.henum UIndicConjunctBreak::U_INCB_LINKERDraftICU 76
uchar.henum UIndicConjunctBreak::U_INCB_NONEDraftICU 76
uchar.henum UProperty::UCHAR_INDIC_CONJUNCT_BREAKDraftICU 76
uchar.henum UProperty::UCHAR_MODIFIER_COMBINING_MARKDraftICU 76
uniset.hU_HEADER_NESTED_NAMESPACE::USetCodePoints icu::UnicodeSet::codePoints() constDraftICU 76
uniset.hU_HEADER_NESTED_NAMESPACE::USetRanges icu::UnicodeSet::ranges() constDraftICU 76
uniset.hU_HEADER_NESTED_NAMESPACE::USetStrings icu::UnicodeSet::strings() constDraftICU 76
unistr.hUNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const S&)DraftICU 76
unistr.hUnicodeString& icu::UnicodeString::append(const S&)DraftICU 76
unistr.hUnicodeString& icu::UnicodeString::operator+=(const S&)DraftICU 76
unistr.hUnicodeString& icu::UnicodeString::operator=(const S&)DraftICU 76
unistr.hbool icu::UnicodeString::operator!=(const S&) constDraftICU 76
unistr.hbool icu::UnicodeString::operator==(const S&) constDraftICU 76
unistr.hicu::UnicodeString::operator std::u16string_view() constDraftICU 76
unistr.hicu::UnicodeString::operator std::wstring_view() constDraftICU 76
unistr.hstatic UnicodeString icu::UnicodeString::readOnlyAlias(const S&)DraftICU 76
unistr.hstatic UnicodeString icu::UnicodeString::readOnlyAlias(const UnicodeString&)DraftICU 76
uregex.henum URegexpFlag::UREGEX_CANON_EQDraftICU 2.4
uset.hCodePointRange U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator* () constDraftICU 76
uset.hUSetCodePointIterator & U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator++()DraftICU 76
uset.hUSetCodePointIterator U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator++(int)DraftICU 76
uset.hUSetCodePointIterator U_HEADER_ONLY_NAMESPACE::USetCodePoints::begin() constDraftICU 76
uset.hUSetCodePointIterator U_HEADER_ONLY_NAMESPACE::USetCodePoints::end() constDraftICU 76
uset.hUSetRangeIterator & U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator++()DraftICU 76
uset.hUSetRangeIterator U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator++(int)DraftICU 76
uset.hUSetRangeIterator U_HEADER_ONLY_NAMESPACE::USetRanges::begin() constDraftICU 76
uset.hUSetRangeIterator U_HEADER_ONLY_NAMESPACE::USetRanges::end() constDraftICU 76
uset.hUSetStringIterator & U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator++()DraftICU 76
uset.hUSetStringIterator U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator++(int)DraftICU 76
uset.hUSetStringIterator U_HEADER_ONLY_NAMESPACE::USetStrings::begin() constDraftICU 76
uset.hUSetStringIterator U_HEADER_ONLY_NAMESPACE::USetStrings::end() constDraftICU 76
uset.hU_HEADER_ONLY_NAMESPACE::USetCodePointIterator::USetCodePointIterator(const USetCodePointIterator&)=defaultDraftICU 76
uset.hU_HEADER_ONLY_NAMESPACE::USetCodePoints::USetCodePoints(const USet*)DraftICU 76
uset.hU_HEADER_ONLY_NAMESPACE::USetCodePoints::USetCodePoints(const USetCodePoints&)=defaultDraftICU 76
uset.hU_HEADER_ONLY_NAMESPACE::USetRangeIterator::USetRangeIterator(const USetRangeIterator&)=defaultDraftICU 76
uset.hU_HEADER_ONLY_NAMESPACE::USetRanges::USetRanges(const USet*)DraftICU 76
uset.hU_HEADER_ONLY_NAMESPACE::USetRanges::USetRanges(const USetRanges&)=defaultDraftICU 76
uset.hU_HEADER_ONLY_NAMESPACE::USetStringIterator::USetStringIterator(const USetStringIterator&)=defaultDraftICU 76
uset.hU_HEADER_ONLY_NAMESPACE::USetStrings::USetStrings(const USet*)DraftICU 76
uset.hU_HEADER_ONLY_NAMESPACE::USetStrings::USetStrings(const USetStrings&)=defaultDraftICU 76
uset.hbool U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator!=(const USetCodePointIterator&) constDraftICU 76
uset.hbool U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator==(const USetCodePointIterator&) constDraftICU 76
uset.hbool U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator!=(const USetRangeIterator&) constDraftICU 76
uset.hbool U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator==(const USetRangeIterator&) constDraftICU 76
uset.hbool U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator!=(const USetStringIterator&) constDraftICU 76
uset.hbool U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator==(const USetStringIterator&) constDraftICU 76
uset.hUChar32 U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator* () constDraftICU 76
uset.hconst UChar* uset_getString(const USet*, int32_t, int32_t*)DraftICU 76
uset.hint32_t uset_getStringCount(const USet*)DraftICU 76
uset.hstd::u16string_view U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator* () constDraftICU 76

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.

Colophon

Contents generated by StableAPI tool on Wed Feb 19 16:10:28 PST 2025

Copyright © 2019 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html