# ICU4C API Comparison: ICU 67 with ICU 68

## Removed from ICU 67

File | API | ICU 67 | ICU 68
--- | --- | --- | ---
fmtable.h | const UFormattable* icu::Formattable::toUFormattable() | Stable ICU 52 | (missing)
measunit.h | LocalArray<MeasureUnit> icu::MeasureUnit::splitToSingleUnits(int32_t&, UErrorCode&) const | Internal ICU 67 | (missing)
measunit.h | int32_t icu::MeasureUnit::getIndex() const | Internal | (missing)
measunit.h | `static` MeasureUnit icu::MeasureUnit::resolveUnitPerUnit(const MeasureUnit&, const MeasureUnit&, bool*) | Internal | (missing)
measunit.h | `static` int32_t icu::MeasureUnit::getIndexCount() | Internal | (missing)
measunit.h | `static` int32_t icu::MeasureUnit::internalGetIndexForTypeAndSubtype(const char*, const char*) | Internal | (missing)
nounit.h | UClassID icu::NoUnit::getDynamicClassID() const | Draft ICU 60 | (missing)
nounit.h | icu::NoUnit::NoUnit(const NoUnit&) | Draft ICU 60 | (missing)
nounit.h | icu::NoUnit::~NoUnit() | Draft ICU 60 | (missing)
nounit.h | `static` NoUnit icu::NoUnit::base() | Draft ICU 60 | (missing)
nounit.h | `static` NoUnit icu::NoUnit::percent() | Draft ICU 60 | (missing)
nounit.h | `static` NoUnit icu::NoUnit::permille() | Draft ICU 60 | (missing)
nounit.h | `static` UClassID icu::NoUnit::getStaticClassID() | Draft ICU 60 | (missing)
nounit.h | void* icu::NoUnit::clone() const | Draft ICU 60 | (missing)
uniset.h | const USet* icu::UnicodeSet::toUSet() | Stable ICU 4.2 | (missing)

(jump back to top)

## Deprecated or Obsoleted in ICU 68

File | API | ICU 67 | ICU 68
--- | --- | --- | ---
numberrangeformatter.h | UnicodeString icu::number::FormattedNumberRange::getFirstDecimal(UErrorCode&) const | Draft ICU 63 | Deprecated ICU 68
numberrangeformatter.h | UnicodeString icu::number::FormattedNumberRange::getSecondDecimal(UErrorCode&) const | Draft ICU 63 | Deprecated ICU 68
umachine.h | `#define` FALSE | Stable ICU 2.0 | Deprecated ICU 68
umachine.h | `#define` TRUE | Stable ICU 2.0 | Deprecated ICU 68

(jump back to top)

## Changed in ICU 68 (old, new)

File | API | ICU 67 | ICU 68
--- | --- | --- | ---
bytestrie.h | BytesTrie& icu::BytesTrie::resetToState64(uint64_t) | Draft→Stable ICU 65
bytestrie.h | uint64_t icu::BytesTrie::getState64() const | Draft→Stable ICU 65
listformatter.h | `static` ListFormatter* icu::ListFormatter::createInstance(const Locale&, UListFormatterType, UListFormatterWidth, UErrorCode&) | Draft→Stable ICU 67
localebuilder.h | UBool icu::LocaleBuilder::copyErrorTo(UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::addSupportedLocale(const Locale&) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::operator=(Builder&&) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setDefaultLocale(const Locale*) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setDemotionPerDesiredLocale(ULocMatchDemotion) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setFavorSubtag(ULocMatchFavorSubtag) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setSupportedLocales(Iter, Iter) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setSupportedLocales(Locale::Iterator&) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setSupportedLocalesFromListString(StringPiece) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setSupportedLocalesViaConverter(Iter, Iter, Conv) | Draft→Stable ICU 65
localematcher.h | Locale icu::LocaleMatcher::Result::makeResolvedLocale(UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | LocaleMatcher icu::LocaleMatcher::Builder::build(UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | LocaleMatcher& icu::LocaleMatcher::operator=(LocaleMatcher&&) | Draft→Stable ICU 65
localematcher.h | Result icu::LocaleMatcher::getBestMatchResult(Locale::Iterator&, UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | Result icu::LocaleMatcher::getBestMatchResult(const Locale&, UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | Result& icu::LocaleMatcher::Result::operator=(Result&&) | Draft→Stable ICU 65
localematcher.h | UBool icu::LocaleMatcher::Builder::copyErrorTo(UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | const Locale* icu::LocaleMatcher::Result::getDesiredLocale() const | Draft→Stable ICU 65
localematcher.h | const Locale* icu::LocaleMatcher::Result::getSupportedLocale() const | Draft→Stable ICU 65
localematcher.h | const Locale* icu::LocaleMatcher::getBestMatch(Locale::Iterator&, UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | const Locale* icu::LocaleMatcher::getBestMatch(const Locale&, UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | const Locale* icu::LocaleMatcher::getBestMatchForListString(StringPiece, UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | `enum` ULocMatchDemotion::ULOCMATCH_DEMOTION_NONE | Draft→Stable ICU 65
localematcher.h | `enum` ULocMatchDemotion::ULOCMATCH_DEMOTION_REGION | Draft→Stable ICU 65
localematcher.h | `enum` ULocMatchFavorSubtag::ULOCMATCH_FAVOR_LANGUAGE | Draft→Stable ICU 65
localematcher.h | `enum` ULocMatchFavorSubtag::ULOCMATCH_FAVOR_SCRIPT | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::Builder::Builder() | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::Builder::Builder(Builder&&) | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::Builder::~Builder() | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::LocaleMatcher(LocaleMatcher&&) | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::Result::Result(Result&&) | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::Result::~Result() | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::~LocaleMatcher() | Draft→Stable ICU 65
localematcher.h | int32_t icu::LocaleMatcher::Result::getDesiredIndex() const | Draft→Stable ICU 65
localematcher.h | int32_t icu::LocaleMatcher::Result::getSupportedIndex() const | Draft→Stable ICU 65
locid.h | UBool icu::Locale::ConvertingIterator< Iter, Conv >::hasNext() const override | Draft→Stable ICU 65
locid.h | UBool icu::Locale::Iterator::hasNext() const | Draft→Stable ICU 65
locid.h | UBool icu::Locale::RangeIterator< Iter >::hasNext() const override | Draft→Stable ICU 65
locid.h | const Locale& icu::Locale::ConvertingIterator< Iter, Conv >::next() override | Draft→Stable ICU 65
locid.h | const Locale& icu::Locale::Iterator::next() | Draft→Stable ICU 65
locid.h | const Locale& icu::Locale::RangeIterator< Iter >::next() override | Draft→Stable ICU 65
locid.h | icu::Locale::ConvertingIterator< Iter, Conv >::ConvertingIterator(Iter, Iter, Conv) | Draft→Stable ICU 65
locid.h | icu::Locale::Iterator::~Iterator() | Draft→Stable ICU 65
locid.h | icu::Locale::RangeIterator< Iter >::RangeIterator(Iter, Iter) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getBar() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getDecade() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getDotPerCentimeter() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getDotPerInch() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getEm() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getMegapixel() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getPascal() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getPixel() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getPixelPerCentimeter() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getPixelPerInch() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getThermUs() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createBar(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createDecade(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createDotPerCentimeter(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createDotPerInch(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createEm(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createMegapixel(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPascal(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPixel(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPixelPerCentimeter(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPixelPerInch(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createThermUs(UErrorCode&) | Draft→Stable ICU 65
numberformatter.h | StringClass icu::number::FormattedNumber::toDecimalNumber(UErrorCode&) const | Draft→Stable ICU 65
numberrangeformatter.h | UnicodeString icu::number::FormattedNumberRange::getFirstDecimal(UErrorCode&) const | Draft ICU 63 | Deprecated ICU 68
numberrangeformatter.h | UnicodeString icu::number::FormattedNumberRange::getSecondDecimal(UErrorCode&) const | Draft ICU 63 | Deprecated ICU 68
reldatefmt.h | `enum` UDateAbsoluteUnit::UDAT_ABSOLUTE_HOUR | Draft→Stable ICU 65
reldatefmt.h | `enum` UDateAbsoluteUnit::UDAT_ABSOLUTE_MINUTE | Draft→Stable ICU 65
stringpiece.h | icu::StringPiece::StringPiece(T) | Draft→Stable ICU 65
ucal.h | int32_t ucal_getHostTimeZone(UChar*, int32_t, UErrorCode*) | Draft→Stable ICU 65
ucharstrie.h | UCharsTrie& icu::UCharsTrie::resetToState64(uint64_t) | Draft→Stable ICU 65
ucharstrie.h | uint64_t icu::UCharsTrie::getState64() const | Draft→Stable ICU 65
ulistformatter.h | UListFormatter* ulistfmt_openForType(const char*, UListFormatterType, UListFormatterWidth, UErrorCode*) | Draft→Stable ICU 67
ulistformatter.h | `enum` UListFormatterType::ULISTFMT_TYPE_AND | Draft→Stable ICU 67
ulistformatter.h | `enum` UListFormatterType::ULISTFMT_TYPE_OR | Draft→Stable ICU 67
ulistformatter.h | `enum` UListFormatterType::ULISTFMT_TYPE_UNITS | Draft→Stable ICU 67
ulistformatter.h | `enum` UListFormatterWidth::ULISTFMT_WIDTH_NARROW | Draft→Stable ICU 67
ulistformatter.h | `enum` UListFormatterWidth::ULISTFMT_WIDTH_SHORT | Draft→Stable ICU 67
ulistformatter.h | `enum` UListFormatterWidth::ULISTFMT_WIDTH_WIDE | Draft→Stable ICU 67
uloc.h | UEnumeration* uloc_openAvailableByType(ULocAvailableType, UErrorCode*) | Draft→Stable ICU 65
uloc.h | `enum` ULocAvailableType::ULOC_AVAILABLE_DEFAULT | Draft→Stable ICU 65
uloc.h | `enum` ULocAvailableType::ULOC_AVAILABLE_ONLY_LEGACY_ALIASES | Draft→Stable ICU 65
uloc.h | `enum` ULocAvailableType::ULOC_AVAILABLE_WITH_LEGACY_ALIASES | Draft→Stable ICU 65
umachine.h | `#define` FALSE | Stable ICU 2.0 | Deprecated ICU 68
umachine.h | `#define` TRUE | Stable ICU 2.0 | Deprecated ICU 68
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UDATA_BUNDLE | Draft→Stable ICU 65
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UDATA_DATA_FILE | Draft→Stable ICU 65
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UDATA_RES_FILE | Draft→Stable ICU 65
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UDATA_START | Draft→Stable ICU 65

(jump back to top)

## Promoted to stable in ICU 68

File | API | ICU 67 | ICU 68
--- | --- | --- | ---
bytestrie.h | BytesTrie& icu::BytesTrie::resetToState64(uint64_t) | Draft→Stable ICU 65
bytestrie.h | uint64_t icu::BytesTrie::getState64() const | Draft→Stable ICU 65
fmtable.h | UFormattable* icu::Formattable::toUFormattable() | (missing) | Stable ICU 52
listformatter.h | `static` ListFormatter* icu::ListFormatter::createInstance(const Locale&, UListFormatterType, UListFormatterWidth, UErrorCode&) | Draft→Stable ICU 67
localebuilder.h | UBool icu::LocaleBuilder::copyErrorTo(UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::addSupportedLocale(const Locale&) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::operator=(Builder&&) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setDefaultLocale(const Locale*) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setDemotionPerDesiredLocale(ULocMatchDemotion) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setFavorSubtag(ULocMatchFavorSubtag) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setSupportedLocales(Iter, Iter) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setSupportedLocales(Locale::Iterator&) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setSupportedLocalesFromListString(StringPiece) | Draft→Stable ICU 65
localematcher.h | Builder& icu::LocaleMatcher::Builder::setSupportedLocalesViaConverter(Iter, Iter, Conv) | Draft→Stable ICU 65
localematcher.h | Locale icu::LocaleMatcher::Result::makeResolvedLocale(UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | LocaleMatcher icu::LocaleMatcher::Builder::build(UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | LocaleMatcher& icu::LocaleMatcher::operator=(LocaleMatcher&&) | Draft→Stable ICU 65
localematcher.h | Result icu::LocaleMatcher::getBestMatchResult(Locale::Iterator&, UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | Result icu::LocaleMatcher::getBestMatchResult(const Locale&, UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | Result& icu::LocaleMatcher::Result::operator=(Result&&) | Draft→Stable ICU 65
localematcher.h | UBool icu::LocaleMatcher::Builder::copyErrorTo(UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | const Locale* icu::LocaleMatcher::Result::getDesiredLocale() const | Draft→Stable ICU 65
localematcher.h | const Locale* icu::LocaleMatcher::Result::getSupportedLocale() const | Draft→Stable ICU 65
localematcher.h | const Locale* icu::LocaleMatcher::getBestMatch(Locale::Iterator&, UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | const Locale* icu::LocaleMatcher::getBestMatch(const Locale&, UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | const Locale* icu::LocaleMatcher::getBestMatchForListString(StringPiece, UErrorCode&) const | Draft→Stable ICU 65
localematcher.h | `enum` ULocMatchDemotion::ULOCMATCH_DEMOTION_NONE | Draft→Stable ICU 65
localematcher.h | `enum` ULocMatchDemotion::ULOCMATCH_DEMOTION_REGION | Draft→Stable ICU 65
localematcher.h | `enum` ULocMatchFavorSubtag::ULOCMATCH_FAVOR_LANGUAGE | Draft→Stable ICU 65
localematcher.h | `enum` ULocMatchFavorSubtag::ULOCMATCH_FAVOR_SCRIPT | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::Builder::Builder() | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::Builder::Builder(Builder&&) | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::Builder::~Builder() | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::LocaleMatcher(LocaleMatcher&&) | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::Result::Result(Result&&) | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::Result::~Result() | Draft→Stable ICU 65
localematcher.h | icu::LocaleMatcher::~LocaleMatcher() | Draft→Stable ICU 65
localematcher.h | int32_t icu::LocaleMatcher::Result::getDesiredIndex() const | Draft→Stable ICU 65
localematcher.h | int32_t icu::LocaleMatcher::Result::getSupportedIndex() const | Draft→Stable ICU 65
locid.h | UBool icu::Locale::ConvertingIterator< Iter, Conv >::hasNext() const override | Draft→Stable ICU 65
locid.h | UBool icu::Locale::Iterator::hasNext() const | Draft→Stable ICU 65
locid.h | UBool icu::Locale::RangeIterator< Iter >::hasNext() const override | Draft→Stable ICU 65
locid.h | const Locale& icu::Locale::ConvertingIterator< Iter, Conv >::next() override | Draft→Stable ICU 65
locid.h | const Locale& icu::Locale::Iterator::next() | Draft→Stable ICU 65
locid.h | const Locale& icu::Locale::RangeIterator< Iter >::next() override | Draft→Stable ICU 65
locid.h | icu::Locale::ConvertingIterator< Iter, Conv >::ConvertingIterator(Iter, Iter, Conv) | Draft→Stable ICU 65
locid.h | icu::Locale::Iterator::~Iterator() | Draft→Stable ICU 65
locid.h | icu::Locale::RangeIterator< Iter >::RangeIterator(Iter, Iter) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getBar() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getDecade() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getDotPerCentimeter() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getDotPerInch() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getEm() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getMegapixel() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getPascal() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getPixel() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getPixelPerCentimeter() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getPixelPerInch() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit icu::MeasureUnit::getThermUs() | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createBar(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createDecade(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createDotPerCentimeter(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createDotPerInch(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createEm(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createMegapixel(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPascal(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPixel(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPixelPerCentimeter(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPixelPerInch(UErrorCode&) | Draft→Stable ICU 65
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createThermUs(UErrorCode&) | Draft→Stable ICU 65
numberformatter.h | StringClass icu::number::FormattedNumber::toDecimalNumber(UErrorCode&) const | Draft→Stable ICU 65
reldatefmt.h | `enum` UDateAbsoluteUnit::UDAT_ABSOLUTE_HOUR | Draft→Stable ICU 65
reldatefmt.h | `enum` UDateAbsoluteUnit::UDAT_ABSOLUTE_MINUTE | Draft→Stable ICU 65
stringpiece.h | icu::StringPiece::StringPiece(T) | Draft→Stable ICU 65
ucal.h | int32_t ucal_getHostTimeZone(UChar*, int32_t, UErrorCode*) | Draft→Stable ICU 65
ucharstrie.h | UCharsTrie& icu::UCharsTrie::resetToState64(uint64_t) | Draft→Stable ICU 65
ucharstrie.h | uint64_t icu::UCharsTrie::getState64() const | Draft→Stable ICU 65
ulistformatter.h | UListFormatter* ulistfmt_openForType(const char*, UListFormatterType, UListFormatterWidth, UErrorCode*) | Draft→Stable ICU 67
ulistformatter.h | `enum` UListFormatterType::ULISTFMT_TYPE_AND | Draft→Stable ICU 67
ulistformatter.h | `enum` UListFormatterType::ULISTFMT_TYPE_OR | Draft→Stable ICU 67
ulistformatter.h | `enum` UListFormatterType::ULISTFMT_TYPE_UNITS | Draft→Stable ICU 67
ulistformatter.h | `enum` UListFormatterWidth::ULISTFMT_WIDTH_NARROW | Draft→Stable ICU 67
ulistformatter.h | `enum` UListFormatterWidth::ULISTFMT_WIDTH_SHORT | Draft→Stable ICU 67
ulistformatter.h | `enum` UListFormatterWidth::ULISTFMT_WIDTH_WIDE | Draft→Stable ICU 67
uloc.h | UEnumeration* uloc_openAvailableByType(ULocAvailableType, UErrorCode*) | Draft→Stable ICU 65
uloc.h | `enum` ULocAvailableType::ULOC_AVAILABLE_DEFAULT | Draft→Stable ICU 65
uloc.h | `enum` ULocAvailableType::ULOC_AVAILABLE_ONLY_LEGACY_ALIASES | Draft→Stable ICU 65
uloc.h | `enum` ULocAvailableType::ULOC_AVAILABLE_WITH_LEGACY_ALIASES | Draft→Stable ICU 65
uniset.h | USet* icu::UnicodeSet::toUSet() | (missing) | Stable ICU 4.2
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UDATA_BUNDLE | Draft→Stable ICU 65
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UDATA_DATA_FILE | Draft→Stable ICU 65
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UDATA_RES_FILE | Draft→Stable ICU 65
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UDATA_START | Draft→Stable ICU 65

(jump back to top)

## Added in ICU 68

File | API | ICU 67 | ICU 68
--- | --- | --- | ---
dtitvfmt.h | UDisplayContext icu::DateIntervalFormat::getContext(UDisplayContextType, UErrorCode&) const | (missing) | Draft ICU 68
dtitvfmt.h | void icu::DateIntervalFormat::setContext(UDisplayContext, UErrorCode&) | (missing) | Draft ICU 68
dtptngen.h | `static` DateTimePatternGenerator* icu::DateTimePatternGenerator::createInstanceNoStdPat(const Locale&, UErrorCode&) | (missing) | Internal
fmtable.h | UFormattable* icu::Formattable::toUFormattable() | (missing) | Stable ICU 52
localematcher.h | Builder& icu::LocaleMatcher::Builder::setMaxDistance(const Locale&, const Locale&) | (missing) | Draft ICU 68
localematcher.h | Builder& icu::LocaleMatcher::Builder::setNoDefaultLocale() | (missing) | Draft ICU 68
localematcher.h | UBool icu::LocaleMatcher::isMatch(const Locale&, const Locale&, UErrorCode&) const | (missing) | Draft ICU 68
measunit.h | int32_t icu::MeasureUnit::getOffset() const | (missing) | Internal
measunit.h | `static` MeasureUnit icu::MeasureUnit::getCandela() | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit icu::MeasureUnit::getDessertSpoon() | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit icu::MeasureUnit::getDessertSpoonImperial() | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit icu::MeasureUnit::getDot() | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit icu::MeasureUnit::getDram() | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit icu::MeasureUnit::getDrop() | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit icu::MeasureUnit::getEarthRadius() | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit icu::MeasureUnit::getGrain() | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit icu::MeasureUnit::getJigger() | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit icu::MeasureUnit::getLumen() | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit icu::MeasureUnit::getPinch() | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit icu::MeasureUnit::getQuartImperial() | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createCandela(UErrorCode&) | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createDessertSpoon(UErrorCode&) | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createDessertSpoonImperial(UErrorCode&) | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createDot(UErrorCode&) | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createDram(UErrorCode&) | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createDrop(UErrorCode&) | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createEarthRadius(UErrorCode&) | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createGrain(UErrorCode&) | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createJigger(UErrorCode&) | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createLumen(UErrorCode&) | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPinch(UErrorCode&) | (missing) | Draft ICU 68
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createQuartImperial(UErrorCode&) | (missing) | Draft ICU 68
measunit.h | std::pair< LocalArray< MeasureUnit >, int32_t > icu::MeasureUnit::splitToSingleUnits(UErrorCode&) const | (missing) | Draft ICU 68
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::usage(StringPiece) const& | (missing) | Draft ICU 68
numberformatter.h | Derived icu::number::NumberFormatterSettings< Derived >::usage(StringPiece)&& | (missing) | Draft ICU 68
numberformatter.h | MeasureUnit icu::number::FormattedNumber::getOutputUnit(UErrorCode&) const | (missing) | Draft ICU 68
numberformatter.h | Usage& icu::number::impl::Usage::operator=(Usage&&) | (missing) | Internal
numberformatter.h | Usage& icu::number::impl::Usage::operator=(const Usage&) | (missing) | Internal
numberformatter.h | bool icu::number::impl::Usage::isSet() const | (missing) | Internal
numberformatter.h | icu::number::impl::Usage::Usage(Usage&&) | (missing) | Internal
numberformatter.h | icu::number::impl::Usage::Usage(const Usage&) | (missing) | Internal
numberformatter.h | icu::number::impl::Usage::~Usage() | (missing) | Internal
numberformatter.h | int16_t icu::number::impl::Usage::length() const | (missing) | Internal
numberformatter.h | void icu::number::impl::Usage::set(StringPiece) | (missing) | Internal
numberrangeformatter.h | std::pair< StringClass, StringClass > icu::number::FormattedNumberRange::getDecimalNumbers(UErrorCode&) const | (missing) | Draft ICU 68
plurrule.h | UnicodeString icu::PluralRules::select(const number::FormattedNumberRange&, UErrorCode&) const | (missing) | Draft ICU 68
plurrule.h | UnicodeString icu::PluralRules::select(const number::impl::UFormattedNumberRangeData*, UErrorCode&) const | (missing) | Internal
plurrule.h | int32_t icu::PluralRules::getSamples(const UnicodeString&, FixedDecimal*, int32_t, UErrorCode&) | (missing) | Internal
timezone.h | `static` TimeZone* icu::TimeZone::forLocaleOrDefault(const Locale&) | (missing) | Internal
ucurr.h | `enum` UCurrNameStyle::UCURR_FORMAL_SYMBOL_NAME | (missing) | Draft ICU 68
ucurr.h | `enum` UCurrNameStyle::UCURR_VARIANT_SYMBOL_NAME | (missing) | Draft ICU 68
udateintervalformat.h | UDisplayContext udtitvfmt_getContext(const UDateIntervalFormat*, UDisplayContextType, UErrorCode*) | (missing) | Draft ICU 68
udateintervalformat.h | void udtitvfmt_setContext(UDateIntervalFormat*, UDisplayContext, UErrorCode*) | (missing) | Draft ICU 68
umachine.h | `#define` U_DEFINE_FALSE_AND_TRUE | (missing) | Internal ICU 68
uniset.h | USet* icu::UnicodeSet::toUSet() | (missing) | Stable ICU 4.2
unum.h | `enum` UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_AUTO | (missing) | Draft ICU 68
unum.h | `enum` UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_MIN2 | (missing) | Draft ICU 68
unumberformatter.h | `enum` UNumberUnitWidth::UNUM_UNIT_WIDTH_FORMAL | (missing) | Draft ICU 68
unumberformatter.h | `enum` UNumberUnitWidth::UNUM_UNIT_WIDTH_VARIANT | (missing) | Draft ICU 68
unumberformatter.h | int32_t unumf_resultToDecimalNumber(const UFormattedNumber*, char*, int32_t, UErrorCode*) | (missing) | Draft ICU 68
unumberrangeformatter.h | UFormattedNumberRange* unumrf_openResult(UErrorCode*) | (missing) | Draft ICU 68
unumberrangeformatter.h | UNumberRangeFormatter* unumrf_openForSkeletonWithCollapseAndIdentityFallback(const UChar*, int32_t, UNumberRangeCollapse, UNumberRangeIdentityFallback, const char*, UParseError*, UErrorCode*) | (missing) | Draft ICU 68
unumberrangeformatter.h | UNumberRangeIdentityResult unumrf_resultGetIdentityResult(const UFormattedNumberRange*, UErrorCode*) | (missing) | Draft ICU 68
unumberrangeformatter.h | const UFormattedValue* unumrf_resultAsValue(const UFormattedNumberRange*, UErrorCode*) | (missing) | Draft ICU 68
unumberrangeformatter.h | int32_t unumrf_resultGetFirstDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*) | (missing) | Draft ICU 68
unumberrangeformatter.h | int32_t unumrf_resultGetSecondDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*) | (missing) | Draft ICU 68
unumberrangeformatter.h | void unumrf_close(UNumberRangeFormatter*) | (missing) | Draft ICU 68
unumberrangeformatter.h | void unumrf_closeResult(UFormattedNumberRange*) | (missing) | Draft ICU 68
unumberrangeformatter.h | void unumrf_formatDecimalRange(const UNumberRangeFormatter*, const char*, int32_t, const char*, int32_t, UFormattedNumberRange*, UErrorCode*) | (missing) | Draft ICU 68
unumberrangeformatter.h | void unumrf_formatDoubleRange(const UNumberRangeFormatter*, double, double, UFormattedNumberRange*, UErrorCode*) | (missing) | Draft ICU 68
upluralrules.h | int32_t uplrules_selectForRange(const UPluralRules*, const struct UFormattedNumberRange*, UChar*, int32_t, UErrorCode*) | (missing) | Draft ICU 68

(jump back to top)

## Other existing drafts in ICU 68

File | API | ICU 67 | ICU 68
--- | --- | --- | ---
bytestream.h | void icu::ByteSink::AppendU8(const char*, int32_t) | Draft ICU 67
bytestream.h | void icu::ByteSink::AppendU8(const char8_t*, int32_t) | Draft ICU 67
dtptngen.h | UDateFormatHourCycle icu::DateTimePatternGenerator::getDefaultHourCycle(UErrorCode&) const | Draft ICU 67
localematcher.h | Builder& icu::LocaleMatcher::Builder::setDirection(ULocMatchDirection) | Draft ICU 67
localematcher.h | `enum` ULocMatchDirection::ULOCMATCH_DIRECTION_ONLY_TWO_WAY | Draft ICU 67
localematcher.h | `enum` ULocMatchDirection::ULOCMATCH_DIRECTION_WITH_ONE_WAY | Draft ICU 67
locid.h | void icu::Locale::canonicalize(UErrorCode&) | Draft ICU 67
measfmt.h | void icu::MeasureFormat::parseObject(const UnicodeString&, Formattable&, ParsePosition&) const | Draft ICU 53
measunit.h | MeasureUnit icu::MeasureUnit::product(const MeasureUnit&, UErrorCode&) const | Draft ICU 67
measunit.h | MeasureUnit icu::MeasureUnit::reciprocal(UErrorCode&) const | Draft ICU 67
measunit.h | MeasureUnit icu::MeasureUnit::withDimensionality(int32_t, UErrorCode&) const | Draft ICU 67
measunit.h | MeasureUnit icu::MeasureUnit::withSIPrefix(UMeasureSIPrefix, UErrorCode&) const | Draft ICU 67
measunit.h | MeasureUnit& icu::MeasureUnit::operator=(MeasureUnit&&) noexcept | Draft ICU 67
measunit.h | UMeasureSIPrefix icu::MeasureUnit::getSIPrefix(UErrorCode&) const | Draft ICU 67
measunit.h | UMeasureUnitComplexity icu::MeasureUnit::getComplexity(UErrorCode&) const | Draft ICU 67
measunit.h | const char* icu::MeasureUnit::getIdentifier() const | Draft ICU 67
measunit.h | icu::MeasureUnit::MeasureUnit(MeasureUnit&&) noexcept | Draft ICU 67
measunit.h | int32_t icu::MeasureUnit::getDimensionality(UErrorCode&) const | Draft ICU 67
measunit.h | `static` MeasureUnit icu::MeasureUnit::forIdentifier(StringPiece, UErrorCode&) | Draft ICU 67
stringpiece.h | icu::StringPiece::StringPiece(const char8_t*) | Draft ICU 67
stringpiece.h | icu::StringPiece::StringPiece(const char8_t*, int32_t) | Draft ICU 67
stringpiece.h | icu::StringPiece::StringPiece(const std::u8string&) | Draft ICU 67
stringpiece.h | icu::StringPiece::StringPiece(std::nullptr_t) | Draft ICU 67
stringpiece.h | int32_t icu::StringPiece::compare(StringPiece) | Draft ICU 67
stringpiece.h | int32_t icu::StringPiece::find(StringPiece, int32_t) | Draft ICU 67
stringpiece.h | void icu::StringPiece::set(const char8_t*) | Draft ICU 67
stringpiece.h | void icu::StringPiece::set(const char8_t*, int32_t) | Draft ICU 67
udat.h | `enum` UDateFormatHourCycle::UDAT_HOUR_CYCLE_11 | Draft ICU 67
udat.h | `enum` UDateFormatHourCycle::UDAT_HOUR_CYCLE_12 | Draft ICU 67
udat.h | `enum` UDateFormatHourCycle::UDAT_HOUR_CYCLE_23 | Draft ICU 67
udat.h | `enum` UDateFormatHourCycle::UDAT_HOUR_CYCLE_24 | Draft ICU 67
udateintervalformat.h | void udtitvfmt_formatCalendarToResult(const UDateIntervalFormat*, UCalendar*, UCalendar*, UFormattedDateInterval*, UErrorCode*) | Draft ICU 67
udateintervalformat.h | void udtitvfmt_formatToResult(const UDateIntervalFormat*, UDate, UDate, UFormattedDateInterval*, UErrorCode*) | Draft ICU 67
udatpg.h | UDateFormatHourCycle udatpg_getDefaultHourCycle(const UDateTimePatternGenerator*, UErrorCode*) | Draft ICU 67
uregex.h | `enum` URegexpFlag::UREGEX_CANON_EQ | Draft ICU 2.4
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UBRK_CREATE_BREAK_ENGINE | Draft ICU 67
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UBRK_CREATE_CHARACTER | Draft ICU 67
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UBRK_CREATE_LINE | Draft ICU 67
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UBRK_CREATE_SENTENCE | Draft ICU 67
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UBRK_CREATE_TITLE | Draft ICU 67
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UBRK_CREATE_WORD | Draft ICU 67
utrace.h | `enum` UTraceFunctionNumber::UTRACE_UBRK_START | Draft ICU 67

(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 Fri Oct 23 11:35:16 PDT 2020
Copyright © 2017 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html