1 2 3<!-- 4 Copyright © 2019 and later: Unicode, Inc. and others. 5 License & terms of use: http://www.unicode.org/copyright.html 6--> 7 8# ICU4C API Comparison: ICU 75 with ICU 76 9 10> _Note_ Markdown format of this document is new for ICU 65. 11 12- [Removed from ICU 75](#removed) 13- [Deprecated or Obsoleted in ICU 76](#deprecated) 14- [Changed in ICU 76](#changed) 15- [Promoted to stable in ICU 76](#promoted) 16- [Added in ICU 76](#added) 17- [Other existing drafts in ICU 76](#other) 18- [Signature Simplifications](#simplifications) 19 20## Removed 21 22Removed from ICU 75 23 24| File | API | ICU 75 | ICU 76 | 25|---|---|---|---| 26| messageformat2_data_model.h | Builder& icu::message2::MFDataModel::Builder::addUnsupportedStatement(UnsupportedStatement&&, UErrorCode&) | InternalICU 75 | (missing) 27| messageformat2_data_model.h | Builder& icu::message2::data_model::Operator::Builder::setReserved(Reserved&&) | InternalICU 75 | (missing) 28| messageformat2_data_model.h | Builder& icu::message2::data_model::Reserved::Builder::add(Literal&&, UErrorCode&) | InternalICU 75 | (missing) 29| messageformat2_data_model.h | Builder& icu::message2::data_model::Reserved::Builder::operator=(Builder&&)=delete | _untagged _ | (missing) 30| messageformat2_data_model.h | Builder& icu::message2::data_model::Reserved::Builder::operator=(const Builder&)=delete | _untagged _ | (missing) 31| messageformat2_data_model.h | Builder& icu::message2::data_model::UnsupportedStatement::Builder::addExpression(Expression&&, UErrorCode&) | InternalICU 75 | (missing) 32| messageformat2_data_model.h | Builder& icu::message2::data_model::UnsupportedStatement::Builder::operator=(Builder&&)=delete | _untagged _ | (missing) 33| messageformat2_data_model.h | Builder& icu::message2::data_model::UnsupportedStatement::Builder::operator=(const Builder&)=delete | _untagged _ | (missing) 34| messageformat2_data_model.h | Builder& icu::message2::data_model::UnsupportedStatement::Builder::setBody(Reserved&&) | InternalICU 75 | (missing) 35| messageformat2_data_model.h | Builder& icu::message2::data_model::UnsupportedStatement::Builder::setKeyword(const UnicodeString&) | InternalICU 75 | (missing) 36| messageformat2_data_model.h | Reserved icu::message2::data_model::Reserved::Builder::build(UErrorCode&) const | InternalICU 75 | (missing) 37| messageformat2_data_model.h | Reserved& icu::message2::data_model::Reserved::operator=(Reserved) | InternalICU 75 | (missing) 38| messageformat2_data_model.h | UnsupportedStatement icu::message2::data_model::UnsupportedStatement::Builder::build(UErrorCode&) const | InternalICU 75 | (missing) 39| messageformat2_data_model.h | UnsupportedStatement& icu::message2::data_model::UnsupportedStatement::operator=(UnsupportedStatement) | InternalICU 75 | (missing) 40| messageformat2_data_model.h | bool icu::message2::data_model::Expression::isReserved() const | InternalICU 75 | (missing) 41| messageformat2_data_model.h | const Literal& icu::message2::data_model::Reserved::getPart(int32_t) const | InternalICU 75 | (missing) 42| messageformat2_data_model.h | const Reserved* icu::message2::data_model::UnsupportedStatement::getBody(UErrorCode&) const | InternalICU 75 | (missing) 43| messageformat2_data_model.h | const UnicodeString & icu::message2::data_model::UnsupportedStatement::getKeyword() const | InternalICU 75 | (missing) 44| messageformat2_data_model.h | icu::message2::data_model::Reserved::Builder::Builder(Builder&&)=delete | _untagged _ | (missing) 45| messageformat2_data_model.h | icu::message2::data_model::Reserved::Builder::Builder(UErrorCode&) | InternalICU 75 | (missing) 46| messageformat2_data_model.h | icu::message2::data_model::Reserved::Builder::Builder(const Builder&)=delete | _untagged _ | (missing) 47| messageformat2_data_model.h | icu::message2::data_model::Reserved::Builder::~Builder() | InternalICU 75 | (missing) 48| messageformat2_data_model.h | icu::message2::data_model::Reserved::Reserved() | InternalICU 75 | (missing) 49| messageformat2_data_model.h | icu::message2::data_model::Reserved::Reserved(const Reserved&) | InternalICU 75 | (missing) 50| messageformat2_data_model.h | icu::message2::data_model::Reserved::~Reserved() | InternalICU 75 | (missing) 51| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::Builder::Builder(Builder&&)=delete | _untagged _ | (missing) 52| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::Builder::Builder(UErrorCode&) | InternalICU 75 | (missing) 53| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::Builder::Builder(const Builder&)=delete | _untagged _ | (missing) 54| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::Builder::~Builder() | InternalICU 75 | (missing) 55| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::UnsupportedStatement() | InternalICU 75 | (missing) 56| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::UnsupportedStatement(const UnsupportedStatement&) | InternalICU 75 | (missing) 57| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::~UnsupportedStatement() | InternalICU 75 | (missing) 58| messageformat2_data_model.h | int32_t icu::message2::data_model::Reserved::numParts() const | InternalICU 75 | (missing) 59| messageformat2_data_model.h | std::vector< Expression > icu::message2::data_model::UnsupportedStatement::getExpressions() const | InternalICU 75 | (missing) 60| simplenumberformatter.h | void icu::number::SimpleNumber::truncateStart(uint32_t, UErrorCode&) | DeprecatedICU 75 | (missing) 61| unistr.h | UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const char16_t*) | StableICU 2.0 | (missing) 62| unistr.h | UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const uint16_t*) | StableICU 59 | (missing) 63| unistr.h | UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const wchar_t*) | StableICU 59 | (missing) 64| unistr.h | UnicodeString& icu::UnicodeString::remove(int32_t, int32_t length=(int32_t)) | StableICU 2.0 | (missing) 65| unistr.h | UnicodeString& icu::UnicodeString::removeBetween(int32_t, int32_t limit=(int32_t)) | StableICU 2.0 | (missing) 66| usimplenumberformatter.h | void usnum_truncateStart(USimpleNumber*, int32_t, UErrorCode*) | DeprecatedICU 75 | (missing) 67| utypes.h | <tt>enum</tt> UErrorCode::U_MF_UNSUPPORTED_EXPRESSION_ERROR | InternalICU 75 | (missing) 68| utypes.h | <tt>enum</tt> UErrorCode::U_MF_UNSUPPORTED_STATEMENT_ERROR | InternalICU 75 | (missing) 69 70## Deprecated 71 72Deprecated or Obsoleted in ICU 76 73 74| File | API | ICU 75 | ICU 76 | 75|---|---|---|---| 76 77## Changed 78 79Changed in ICU 76 (old, new) 80 81 82 83| File | API | ICU 75 | ICU 76 | 84|---|---|---|---| 85| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGasolineEnergyDensity() | Draft→StableICU 74 86| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createGasolineEnergyDensity(UErrorCode&) | Draft→StableICU 74 87| measure.h | bool icu::Measure::operator!=(const UObject&) const | Draft→StableICU 74 88| normalizer2.h | <tt>static</tt> const Normalizer2* icu::Normalizer2::getNFKCSimpleCasefoldInstance(UErrorCode&) | Draft→StableICU 74 89| timezone.h | <tt>static</tt> UnicodeString& icu::TimeZone::getIanaID(const UnicodeString&, UnicodeString&, UErrorCode&) | Draft→StableICU 74 90| ucal.h | int32_t ucal_getIanaTimeZoneID(const UChar*, int32_t, UChar*, int32_t, UErrorCode*) | Draft→StableICU 74 91| uchar.h | <tt>enum</tt> UProperty::UCHAR_IDS_UNARY_OPERATOR | Draft→StableICU 74 92| uchar.h | <tt>enum</tt> UProperty::UCHAR_ID_COMPAT_MATH_CONTINUE | Draft→StableICU 74 93| uchar.h | <tt>enum</tt> UProperty::UCHAR_ID_COMPAT_MATH_START | Draft→StableICU 74 94| ulocale.h | UEnumeration* ulocale_getKeywords(const ULocale*, UErrorCode*) | Draft→StableICU 74 95| ulocale.h | UEnumeration* ulocale_getUnicodeKeywords(const ULocale*, UErrorCode*) | Draft→StableICU 74 96| ulocale.h | ULocale* ulocale_openForLanguageTag(const char*, int32_t, UErrorCode*) | Draft→StableICU 74 97| ulocale.h | ULocale* ulocale_openForLocaleID(const char*, int32_t, UErrorCode*) | Draft→StableICU 74 98| ulocale.h | bool ulocale_isBogus(const ULocale*) | Draft→StableICU 74 99| ulocale.h | const char* ulocale_getBaseName(const ULocale*) | Draft→StableICU 74 100| ulocale.h | const char* ulocale_getLanguage(const ULocale*) | Draft→StableICU 74 101| ulocale.h | const char* ulocale_getLocaleID(const ULocale*) | Draft→StableICU 74 102| ulocale.h | const char* ulocale_getRegion(const ULocale*) | Draft→StableICU 74 103| ulocale.h | const char* ulocale_getScript(const ULocale*) | Draft→StableICU 74 104| ulocale.h | const char* ulocale_getVariant(const ULocale*) | Draft→StableICU 74 105| ulocale.h | int32_t ulocale_getKeywordValue(const ULocale*, const char*, int32_t, char*, int32_t, UErrorCode*) | Draft→StableICU 74 106| ulocale.h | int32_t ulocale_getUnicodeKeywordValue(const ULocale*, const char*, int32_t, char*, int32_t, UErrorCode*) | Draft→StableICU 74 107| ulocale.h | void ulocale_close(ULocale*) | Draft→StableICU 74 108| ulocbuilder.h | ULocale* ulocbld_buildULocale(ULocaleBuilder*, UErrorCode*) | Draft→StableICU 74 109| ulocbuilder.h | ULocaleBuilder* ulocbld_open() | Draft→StableICU 74 110| ulocbuilder.h | bool ulocbld_copyErrorTo(const ULocaleBuilder*, UErrorCode*) | Draft→StableICU 74 111| ulocbuilder.h | int32_t ulocbld_buildLanguageTag(ULocaleBuilder*, char*, int32_t, UErrorCode*) | Draft→StableICU 74 112| ulocbuilder.h | int32_t ulocbld_buildLocaleID(ULocaleBuilder*, char*, int32_t, UErrorCode*) | Draft→StableICU 74 113| ulocbuilder.h | void ulocbld_addUnicodeLocaleAttribute(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 114| ulocbuilder.h | void ulocbld_adoptULocale(ULocaleBuilder*, ULocale*) | Draft→StableICU 74 115| ulocbuilder.h | void ulocbld_clear(ULocaleBuilder*) | Draft→StableICU 74 116| ulocbuilder.h | void ulocbld_clearExtensions(ULocaleBuilder*) | Draft→StableICU 74 117| ulocbuilder.h | void ulocbld_close(ULocaleBuilder*) | Draft→StableICU 74 118| ulocbuilder.h | void ulocbld_removeUnicodeLocaleAttribute(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 119| ulocbuilder.h | void ulocbld_setExtension(ULocaleBuilder*, char, const char*, int32_t) | Draft→StableICU 74 120| ulocbuilder.h | void ulocbld_setLanguage(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 121| ulocbuilder.h | void ulocbld_setLanguageTag(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 122| ulocbuilder.h | void ulocbld_setLocale(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 123| ulocbuilder.h | void ulocbld_setRegion(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 124| ulocbuilder.h | void ulocbld_setScript(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 125| ulocbuilder.h | void ulocbld_setUnicodeLocaleKeyword(ULocaleBuilder*, const char*, int32_t, const char*, int32_t) | Draft→StableICU 74 126| ulocbuilder.h | void ulocbld_setVariant(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 127| unorm2.h | const UNormalizer2* unorm2_getNFKCSimpleCasefoldInstance(UErrorCode*) | Draft→StableICU 74 128| uspoof.h | icu::UnicodeString& uspoof_getBidiSkeletonUnicodeString(const USpoofChecker*, UBiDiDirection, const icu::UnicodeString&, icu::UnicodeString&, UErrorCode*) | Draft→StableICU 74 129| uspoof.h | int32_t uspoof_getBidiSkeleton(const USpoofChecker*, UBiDiDirection, const UChar*, int32_t, UChar*, int32_t, UErrorCode*) | Draft→StableICU 74 130| uspoof.h | int32_t uspoof_getBidiSkeletonUTF8(const USpoofChecker*, UBiDiDirection, const char*, int32_t, char*, int32_t, UErrorCode*) | Draft→StableICU 74 131| uspoof.h | uint32_t uspoof_areBidiConfusable(const USpoofChecker*, UBiDiDirection, const UChar*, int32_t, const UChar*, int32_t, UErrorCode*) | Draft→StableICU 74 132| uspoof.h | uint32_t uspoof_areBidiConfusableUTF8(const USpoofChecker*, UBiDiDirection, const char*, int32_t, const char*, int32_t, UErrorCode*) | Draft→StableICU 74 133| uspoof.h | uint32_t uspoof_areBidiConfusableUnicodeString(const USpoofChecker*, UBiDiDirection, const icu::UnicodeString&, const icu::UnicodeString&, UErrorCode*) | Draft→StableICU 74 134 135## Promoted 136 137Promoted to stable in ICU 76 138 139| File | API | ICU 75 | ICU 76 | 140|---|---|---|---| 141| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGasolineEnergyDensity() | Draft→StableICU 74 142| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createGasolineEnergyDensity(UErrorCode&) | Draft→StableICU 74 143| measure.h | bool icu::Measure::operator!=(const UObject&) const | Draft→StableICU 74 144| normalizer2.h | <tt>static</tt> const Normalizer2* icu::Normalizer2::getNFKCSimpleCasefoldInstance(UErrorCode&) | Draft→StableICU 74 145| timezone.h | <tt>static</tt> UnicodeString& icu::TimeZone::getIanaID(const UnicodeString&, UnicodeString&, UErrorCode&) | Draft→StableICU 74 146| ucal.h | int32_t ucal_getIanaTimeZoneID(const UChar*, int32_t, UChar*, int32_t, UErrorCode*) | Draft→StableICU 74 147| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_EGYPTIAN_HIEROGLYPHS_EXTENDED_A | (missing) | StableICU 76| *(Born Stable)* | 148| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_GARAY | (missing) | StableICU 76| *(Born Stable)* | 149| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_GURUNG_KHEMA | (missing) | StableICU 76| *(Born Stable)* | 150| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_KIRAT_RAI | (missing) | StableICU 76| *(Born Stable)* | 151| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_MYANMAR_EXTENDED_C | (missing) | StableICU 76| *(Born Stable)* | 152| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_OL_ONAL | (missing) | StableICU 76| *(Born Stable)* | 153| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_SUNUWAR | (missing) | StableICU 76| *(Born Stable)* | 154| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING_SUPPLEMENT | (missing) | StableICU 76| *(Born Stable)* | 155| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_TODHRI | (missing) | StableICU 76| *(Born Stable)* | 156| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_TULU_TIGALARI | (missing) | StableICU 76| *(Born Stable)* | 157| uchar.h | <tt>enum</tt> UIndicSyllabicCategory::U_INSC_REORDERING_KILLER | (missing) | StableICU 76| *(Born Stable)* | 158| uchar.h | <tt>enum</tt> UJoiningGroup::U_JG_KASHMIRI_YEH | (missing) | StableICU 76| *(Born Stable)* | 159| uchar.h | <tt>enum</tt> UProperty::UCHAR_IDS_UNARY_OPERATOR | Draft→StableICU 74 160| uchar.h | <tt>enum</tt> UProperty::UCHAR_ID_COMPAT_MATH_CONTINUE | Draft→StableICU 74 161| uchar.h | <tt>enum</tt> UProperty::UCHAR_ID_COMPAT_MATH_START | Draft→StableICU 74 162| ulocale.h | UEnumeration* ulocale_getKeywords(const ULocale*, UErrorCode*) | Draft→StableICU 74 163| ulocale.h | UEnumeration* ulocale_getUnicodeKeywords(const ULocale*, UErrorCode*) | Draft→StableICU 74 164| ulocale.h | ULocale* ulocale_openForLanguageTag(const char*, int32_t, UErrorCode*) | Draft→StableICU 74 165| ulocale.h | ULocale* ulocale_openForLocaleID(const char*, int32_t, UErrorCode*) | Draft→StableICU 74 166| ulocale.h | bool ulocale_isBogus(const ULocale*) | Draft→StableICU 74 167| ulocale.h | const char* ulocale_getBaseName(const ULocale*) | Draft→StableICU 74 168| ulocale.h | const char* ulocale_getLanguage(const ULocale*) | Draft→StableICU 74 169| ulocale.h | const char* ulocale_getLocaleID(const ULocale*) | Draft→StableICU 74 170| ulocale.h | const char* ulocale_getRegion(const ULocale*) | Draft→StableICU 74 171| ulocale.h | const char* ulocale_getScript(const ULocale*) | Draft→StableICU 74 172| ulocale.h | const char* ulocale_getVariant(const ULocale*) | Draft→StableICU 74 173| ulocale.h | int32_t ulocale_getKeywordValue(const ULocale*, const char*, int32_t, char*, int32_t, UErrorCode*) | Draft→StableICU 74 174| ulocale.h | int32_t ulocale_getUnicodeKeywordValue(const ULocale*, const char*, int32_t, char*, int32_t, UErrorCode*) | Draft→StableICU 74 175| ulocale.h | void ulocale_close(ULocale*) | Draft→StableICU 74 176| ulocbuilder.h | ULocale* ulocbld_buildULocale(ULocaleBuilder*, UErrorCode*) | Draft→StableICU 74 177| ulocbuilder.h | ULocaleBuilder* ulocbld_open() | Draft→StableICU 74 178| ulocbuilder.h | bool ulocbld_copyErrorTo(const ULocaleBuilder*, UErrorCode*) | Draft→StableICU 74 179| ulocbuilder.h | int32_t ulocbld_buildLanguageTag(ULocaleBuilder*, char*, int32_t, UErrorCode*) | Draft→StableICU 74 180| ulocbuilder.h | int32_t ulocbld_buildLocaleID(ULocaleBuilder*, char*, int32_t, UErrorCode*) | Draft→StableICU 74 181| ulocbuilder.h | void ulocbld_addUnicodeLocaleAttribute(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 182| ulocbuilder.h | void ulocbld_adoptULocale(ULocaleBuilder*, ULocale*) | Draft→StableICU 74 183| ulocbuilder.h | void ulocbld_clear(ULocaleBuilder*) | Draft→StableICU 74 184| ulocbuilder.h | void ulocbld_clearExtensions(ULocaleBuilder*) | Draft→StableICU 74 185| ulocbuilder.h | void ulocbld_close(ULocaleBuilder*) | Draft→StableICU 74 186| ulocbuilder.h | void ulocbld_removeUnicodeLocaleAttribute(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 187| ulocbuilder.h | void ulocbld_setExtension(ULocaleBuilder*, char, const char*, int32_t) | Draft→StableICU 74 188| ulocbuilder.h | void ulocbld_setLanguage(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 189| ulocbuilder.h | void ulocbld_setLanguageTag(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 190| ulocbuilder.h | void ulocbld_setLocale(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 191| ulocbuilder.h | void ulocbld_setRegion(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 192| ulocbuilder.h | void ulocbld_setScript(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 193| ulocbuilder.h | void ulocbld_setUnicodeLocaleKeyword(ULocaleBuilder*, const char*, int32_t, const char*, int32_t) | Draft→StableICU 74 194| ulocbuilder.h | void ulocbld_setVariant(ULocaleBuilder*, const char*, int32_t) | Draft→StableICU 74 195| unistr.h | UnicodeString& icu::UnicodeString::remove(int32_t, int32_t length=static_cast< int32_t >(INT32_MAX)) | (missing) | StableICU 2.0 196| unistr.h | UnicodeString& icu::UnicodeString::removeBetween(int32_t, int32_t limit=static_cast< int32_t >(INT32_MAX)) | (missing) | StableICU 2.0 197| unorm2.h | const UNormalizer2* unorm2_getNFKCSimpleCasefoldInstance(UErrorCode*) | Draft→StableICU 74 198| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_GARAY | (missing) | StableICU 76| *(Born Stable)* | 199| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_GURUNG_KHEMA | (missing) | StableICU 76| *(Born Stable)* | 200| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_KIRAT_RAI | (missing) | StableICU 76| *(Born Stable)* | 201| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_OL_ONAL | (missing) | StableICU 76| *(Born Stable)* | 202| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_SUNUWAR | (missing) | StableICU 76| *(Born Stable)* | 203| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_TODHRI | (missing) | StableICU 76| *(Born Stable)* | 204| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_TULU_TIGALARI | (missing) | StableICU 76| *(Born Stable)* | 205| uspoof.h | icu::UnicodeString& uspoof_getBidiSkeletonUnicodeString(const USpoofChecker*, UBiDiDirection, const icu::UnicodeString&, icu::UnicodeString&, UErrorCode*) | Draft→StableICU 74 206| uspoof.h | int32_t uspoof_getBidiSkeleton(const USpoofChecker*, UBiDiDirection, const UChar*, int32_t, UChar*, int32_t, UErrorCode*) | Draft→StableICU 74 207| uspoof.h | int32_t uspoof_getBidiSkeletonUTF8(const USpoofChecker*, UBiDiDirection, const char*, int32_t, char*, int32_t, UErrorCode*) | Draft→StableICU 74 208| uspoof.h | uint32_t uspoof_areBidiConfusable(const USpoofChecker*, UBiDiDirection, const UChar*, int32_t, const UChar*, int32_t, UErrorCode*) | Draft→StableICU 74 209| uspoof.h | uint32_t uspoof_areBidiConfusableUTF8(const USpoofChecker*, UBiDiDirection, const char*, int32_t, const char*, int32_t, UErrorCode*) | Draft→StableICU 74 210| uspoof.h | uint32_t uspoof_areBidiConfusableUnicodeString(const USpoofChecker*, UBiDiDirection, const icu::UnicodeString&, const icu::UnicodeString&, UErrorCode*) | Draft→StableICU 74 211 212## Added 213 214Added in ICU 76 215 216| File | API | ICU 75 | ICU 76 | 217|---|---|---|---| 218| coll.h | auto icu::Collator::equal_to() const | (missing) | DraftICU 76 219| coll.h | auto icu::Collator::greater() const | (missing) | DraftICU 76 220| coll.h | auto icu::Collator::greater_equal() const | (missing) | DraftICU 76 221| coll.h | auto icu::Collator::less() const | (missing) | DraftICU 76 222| coll.h | auto icu::Collator::less_equal() const | (missing) | DraftICU 76 223| coll.h | auto icu::Collator::not_equal_to() const | (missing) | DraftICU 76 224| messageformat2.h | Builder& icu::message2::MessageFormatter::Builder::setErrorHandlingBehavior(UMFErrorHandlingBehavior) | (missing) | InternalICU 76 225| messageformat2.h | <tt>enum</tt> icu::message2::MessageFormatter::UMFErrorHandlingBehavior {} | (missing) | InternalICU 76 226| messageformat2.h | <tt>enum</tt> icu::message2::MessageFormatter::UMFErrorHandlingBehavior::U_MF_BEST_EFFORT | (missing) | InternalICU 76 227| messageformat2.h | <tt>enum</tt> icu::message2::MessageFormatter::UMFErrorHandlingBehavior::U_MF_STRICT | (missing) | InternalICU 76 228| stringpiece.h | icu::StringPiece::operator std::string_view() const | (missing) | Internal 229| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_EGYPTIAN_HIEROGLYPHS_EXTENDED_A | (missing) | StableICU 76| *(Born Stable)* | 230| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_GARAY | (missing) | StableICU 76| *(Born Stable)* | 231| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_GURUNG_KHEMA | (missing) | StableICU 76| *(Born Stable)* | 232| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_KIRAT_RAI | (missing) | StableICU 76| *(Born Stable)* | 233| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_MYANMAR_EXTENDED_C | (missing) | StableICU 76| *(Born Stable)* | 234| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_OL_ONAL | (missing) | StableICU 76| *(Born Stable)* | 235| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_SUNUWAR | (missing) | StableICU 76| *(Born Stable)* | 236| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING_SUPPLEMENT | (missing) | StableICU 76| *(Born Stable)* | 237| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_TODHRI | (missing) | StableICU 76| *(Born Stable)* | 238| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_TULU_TIGALARI | (missing) | StableICU 76| *(Born Stable)* | 239| uchar.h | <tt>enum</tt> UIndicConjunctBreak::U_INCB_CONSONANT | (missing) | DraftICU 76 240| uchar.h | <tt>enum</tt> UIndicConjunctBreak::U_INCB_EXTEND | (missing) | DraftICU 76 241| uchar.h | <tt>enum</tt> UIndicConjunctBreak::U_INCB_LINKER | (missing) | DraftICU 76 242| uchar.h | <tt>enum</tt> UIndicConjunctBreak::U_INCB_NONE | (missing) | DraftICU 76 243| uchar.h | <tt>enum</tt> UIndicSyllabicCategory::U_INSC_REORDERING_KILLER | (missing) | StableICU 76| *(Born Stable)* | 244| uchar.h | <tt>enum</tt> UJoiningGroup::U_JG_KASHMIRI_YEH | (missing) | StableICU 76| *(Born Stable)* | 245| uchar.h | <tt>enum</tt> UProperty::UCHAR_INDIC_CONJUNCT_BREAK | (missing) | DraftICU 76 246| uchar.h | <tt>enum</tt> UProperty::UCHAR_MODIFIER_COMBINING_MARK | (missing) | DraftICU 76 247| ucol.h | U_HEADER_ONLY_NAMESPACE::collator::internal::Predicate< Compare, result >::Predicate(const UCollator*) | (missing) | Internal 248| ucol.h | bool U_HEADER_ONLY_NAMESPACE::collator::internal::Predicate< Compare, result >::operator()(const T&, const U&) const | (missing) | Internal 249| ucol.h | bool U_HEADER_ONLY_NAMESPACE::collator::internal::Predicate< Compare, result >::operator()(std::string_view, std::string_view) const | (missing) | Internal 250| uniset.h | U_HEADER_NESTED_NAMESPACE::USetCodePoints icu::UnicodeSet::codePoints() const | (missing) | DraftICU 76 251| uniset.h | U_HEADER_NESTED_NAMESPACE::USetElementIterator icu::UnicodeSet::begin() const | (missing) | DraftICU 76 252| uniset.h | U_HEADER_NESTED_NAMESPACE::USetElementIterator icu::UnicodeSet::end() const | (missing) | DraftICU 76 253| uniset.h | U_HEADER_NESTED_NAMESPACE::USetRanges icu::UnicodeSet::ranges() const | (missing) | DraftICU 76 254| uniset.h | U_HEADER_NESTED_NAMESPACE::USetStrings icu::UnicodeSet::strings() const | (missing) | DraftICU 76 255| unistr.h | UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const S&) | (missing) | DraftICU 76 256| unistr.h | UnicodeString& icu::UnicodeString::append(const S&) | (missing) | DraftICU 76 257| unistr.h | UnicodeString& icu::UnicodeString::operator+=(const S&) | (missing) | DraftICU 76 258| unistr.h | UnicodeString& icu::UnicodeString::operator=(const S&) | (missing) | DraftICU 76 259| unistr.h | UnicodeString& icu::UnicodeString::remove(int32_t, int32_t length=static_cast< int32_t >(INT32_MAX)) | (missing) | StableICU 2.0 260| unistr.h | UnicodeString& icu::UnicodeString::removeBetween(int32_t, int32_t limit=static_cast< int32_t >(INT32_MAX)) | (missing) | StableICU 2.0 261| unistr.h | bool icu::UnicodeString::operator!=(const S&) const | (missing) | DraftICU 76 262| unistr.h | bool icu::UnicodeString::operator==(const S&) const | (missing) | DraftICU 76 263| unistr.h | icu::UnicodeString::operator std::u16string_view() const | (missing) | DraftICU 76 264| unistr.h | icu::UnicodeString::operator std::wstring_view() const | (missing) | DraftICU 76 265| unistr.h | <tt>static</tt> UnicodeString icu::UnicodeString::readOnlyAlias(const S&) | (missing) | DraftICU 76 266| unistr.h | <tt>static</tt> UnicodeString icu::UnicodeString::readOnlyAlias(const UnicodeString&) | (missing) | DraftICU 76 267| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_GARAY | (missing) | StableICU 76| *(Born Stable)* | 268| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_GURUNG_KHEMA | (missing) | StableICU 76| *(Born Stable)* | 269| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_KIRAT_RAI | (missing) | StableICU 76| *(Born Stable)* | 270| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_OL_ONAL | (missing) | StableICU 76| *(Born Stable)* | 271| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_SUNUWAR | (missing) | StableICU 76| *(Born Stable)* | 272| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_TODHRI | (missing) | StableICU 76| *(Born Stable)* | 273| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_TULU_TIGALARI | (missing) | StableICU 76| *(Born Stable)* | 274| uset.h | CodePointRange U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator* () const | (missing) | DraftICU 76 275| uset.h | USetCodePointIterator & U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator++() | (missing) | DraftICU 76 276| uset.h | USetCodePointIterator U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator++(int) | (missing) | DraftICU 76 277| uset.h | USetCodePointIterator U_HEADER_ONLY_NAMESPACE::USetCodePoints::begin() const | (missing) | DraftICU 76 278| uset.h | USetCodePointIterator U_HEADER_ONLY_NAMESPACE::USetCodePoints::end() const | (missing) | DraftICU 76 279| uset.h | USetElementIterator & U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator++() | (missing) | DraftICU 76 280| uset.h | USetElementIterator U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator++(int) | (missing) | DraftICU 76 281| uset.h | USetElementIterator U_HEADER_ONLY_NAMESPACE::USetElements::begin() const | (missing) | DraftICU 76 282| uset.h | USetElementIterator U_HEADER_ONLY_NAMESPACE::USetElements::end() const | (missing) | DraftICU 76 283| uset.h | USetRangeIterator & U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator++() | (missing) | DraftICU 76 284| uset.h | USetRangeIterator U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator++(int) | (missing) | DraftICU 76 285| uset.h | USetRangeIterator U_HEADER_ONLY_NAMESPACE::USetRanges::begin() const | (missing) | DraftICU 76 286| uset.h | USetRangeIterator U_HEADER_ONLY_NAMESPACE::USetRanges::end() const | (missing) | DraftICU 76 287| uset.h | USetStringIterator & U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator++() | (missing) | DraftICU 76 288| uset.h | USetStringIterator U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator++(int) | (missing) | DraftICU 76 289| uset.h | USetStringIterator U_HEADER_ONLY_NAMESPACE::USetStrings::begin() const | (missing) | DraftICU 76 290| uset.h | USetStringIterator U_HEADER_ONLY_NAMESPACE::USetStrings::end() const | (missing) | DraftICU 76 291| uset.h | U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::USetCodePointIterator(const USetCodePointIterator&)=default | (missing) | DraftICU 76 292| uset.h | U_HEADER_ONLY_NAMESPACE::USetCodePoints::USetCodePoints(const USet*) | (missing) | DraftICU 76 293| uset.h | U_HEADER_ONLY_NAMESPACE::USetCodePoints::USetCodePoints(const USetCodePoints&)=default | (missing) | DraftICU 76 294| uset.h | U_HEADER_ONLY_NAMESPACE::USetElementIterator::USetElementIterator(const USetElementIterator&)=default | (missing) | DraftICU 76 295| uset.h | U_HEADER_ONLY_NAMESPACE::USetElements::USetElements(const USet*) | (missing) | DraftICU 76 296| uset.h | U_HEADER_ONLY_NAMESPACE::USetElements::USetElements(const USetElements&)=default | (missing) | DraftICU 76 297| uset.h | U_HEADER_ONLY_NAMESPACE::USetRangeIterator::USetRangeIterator(const USetRangeIterator&)=default | (missing) | DraftICU 76 298| uset.h | U_HEADER_ONLY_NAMESPACE::USetRanges::USetRanges(const USet*) | (missing) | DraftICU 76 299| uset.h | U_HEADER_ONLY_NAMESPACE::USetRanges::USetRanges(const USetRanges&)=default | (missing) | DraftICU 76 300| uset.h | U_HEADER_ONLY_NAMESPACE::USetStringIterator::USetStringIterator(const USetStringIterator&)=default | (missing) | DraftICU 76 301| uset.h | U_HEADER_ONLY_NAMESPACE::USetStrings::USetStrings(const USet*) | (missing) | DraftICU 76 302| uset.h | U_HEADER_ONLY_NAMESPACE::USetStrings::USetStrings(const USetStrings&)=default | (missing) | DraftICU 76 303| uset.h | UnicodeString U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator* () const | (missing) | DraftICU 76 304| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator!=(const USetCodePointIterator&) const | (missing) | DraftICU 76 305| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator==(const USetCodePointIterator&) const | (missing) | DraftICU 76 306| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator!=(const USetElementIterator&) const | (missing) | DraftICU 76 307| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator==(const USetElementIterator&) const | (missing) | DraftICU 76 308| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator!=(const USetRangeIterator&) const | (missing) | DraftICU 76 309| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator==(const USetRangeIterator&) const | (missing) | DraftICU 76 310| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator!=(const USetStringIterator&) const | (missing) | DraftICU 76 311| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator==(const USetStringIterator&) const | (missing) | DraftICU 76 312| uset.h | UChar32 U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator* () const | (missing) | DraftICU 76 313| uset.h | const UChar* uset_getString(const USet*, int32_t, int32_t*) | (missing) | DraftICU 76 314| uset.h | int32_t uset_getStringCount(const USet*) | (missing) | DraftICU 76 315| uset.h | std::u16string_view U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator* () const | (missing) | DraftICU 76 316| utypes.h | <tt>#define</tt> U_SHOW_CPLUSPLUS_HEADER_API | (missing) | Internal 317| utypes.h | <tt>enum</tt> UErrorCode::U_MF_DUPLICATE_VARIANT_ERROR | (missing) | InternalICU 76 318 319## Other 320 321Other existing drafts in ICU 76 322 323| File | API | ICU 75 | ICU 76 | 324|---|---|---|---| 325| measfmt.h | void icu::MeasureFormat::parseObject(const UnicodeString&, Formattable&, ParsePosition&) const | DraftICU 53 | 326| numberformatter.h | UnlocalizedNumberFormatter icu::number::LocalizedNumberFormatter::withoutLocale() && | DraftICU 75 | 327| numberformatter.h | UnlocalizedNumberFormatter icu::number::LocalizedNumberFormatter::withoutLocale() const & | DraftICU 75 | 328| numberrangeformatter.h | UnlocalizedNumberRangeFormatter icu::number::LocalizedNumberRangeFormatter::withoutLocale() && | DraftICU 75 | 329| numberrangeformatter.h | UnlocalizedNumberRangeFormatter icu::number::LocalizedNumberRangeFormatter::withoutLocale() const & | DraftICU 75 | 330| simplenumberformatter.h | void icu::number::SimpleNumber::setMaximumIntegerDigits(uint32_t, UErrorCode&) | DraftICU 75 | 331| uchar.h | bool u_hasIDType(UChar32, UIdentifierType) | DraftICU 75 | 332| uchar.h | <tt>enum</tt> UIdentifierStatus::U_ID_STATUS_ALLOWED | DraftICU 75 | 333| uchar.h | <tt>enum</tt> UIdentifierStatus::U_ID_STATUS_RESTRICTED | DraftICU 75 | 334| uchar.h | <tt>enum</tt> UIdentifierType::U_ID_TYPE_DEFAULT_IGNORABLE | DraftICU 75 | 335| uchar.h | <tt>enum</tt> UIdentifierType::U_ID_TYPE_DEPRECATED | DraftICU 75 | 336| uchar.h | <tt>enum</tt> UIdentifierType::U_ID_TYPE_EXCLUSION | DraftICU 75 | 337| uchar.h | <tt>enum</tt> UIdentifierType::U_ID_TYPE_INCLUSION | DraftICU 75 | 338| uchar.h | <tt>enum</tt> UIdentifierType::U_ID_TYPE_LIMITED_USE | DraftICU 75 | 339| uchar.h | <tt>enum</tt> UIdentifierType::U_ID_TYPE_NOT_CHARACTER | DraftICU 75 | 340| uchar.h | <tt>enum</tt> UIdentifierType::U_ID_TYPE_NOT_NFKC | DraftICU 75 | 341| uchar.h | <tt>enum</tt> UIdentifierType::U_ID_TYPE_NOT_XID | DraftICU 75 | 342| uchar.h | <tt>enum</tt> UIdentifierType::U_ID_TYPE_OBSOLETE | DraftICU 75 | 343| uchar.h | <tt>enum</tt> UIdentifierType::U_ID_TYPE_RECOMMENDED | DraftICU 75 | 344| uchar.h | <tt>enum</tt> UIdentifierType::U_ID_TYPE_TECHNICAL | DraftICU 75 | 345| uchar.h | <tt>enum</tt> UIdentifierType::U_ID_TYPE_UNCOMMON_USE | DraftICU 75 | 346| uchar.h | <tt>enum</tt> UProperty::UCHAR_IDENTIFIER_STATUS | DraftICU 75 | 347| uchar.h | <tt>enum</tt> UProperty::UCHAR_IDENTIFIER_TYPE | DraftICU 75 | 348| uchar.h | int32_t u_getIDTypes(UChar32, UIdentifierType*, int32_t, UErrorCode*) | DraftICU 75 | 349| uregex.h | <tt>enum</tt> URegexpFlag::UREGEX_CANON_EQ | DraftICU 2.4 | 350| usimplenumberformatter.h | void usnum_setMaximumIntegerDigits(USimpleNumber*, int32_t, UErrorCode*) | DraftICU 75 | 351 352## Simplifications 353 354This section shows cases where the signature was "simplified" for the sake of comparison. The simplified form is in bold, followed by 355 all possible variations in "original" form. 356 357 358## Colophon 359 360Contents generated by StableAPI tool on Tue Sep 24 13:19:44 PDT 2024 361 362Copyright © 2019 and later: Unicode, Inc. and others. 363License & terms of use: http://www.unicode.org/copyright.html 364