# ICU4C API Comparison: ICU 58 (update #1: 58.2) with ICU 59

## Removed from ICU 58

File | API | ICU 58 | ICU 59
--- | --- | --- | ---
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createEast(UErrorCode&) | Draft ICU 58 | (missing)
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createNorth(UErrorCode&) | Draft ICU 58 | (missing)
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createSouth(UErrorCode&) | Draft ICU 58 | (missing)
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createWest(UErrorCode&) | Draft ICU 58 | (missing)
platform.h | `#define` U_HAVE_RVALUE_REFERENCES | Internal | (missing)
unistr.h | `#define` U_STRING_CASE_MAPPER_DEFINED | Internal | (missing)

(jump back to top)

## Deprecated or Obsoleted in ICU 59

File | API | ICU 58 | ICU 59
--- | --- | --- | ---
utmscale.h | `enum` UDateTimeScale::UDTS_MAX_SCALE | Stable ICU 3.2 | Deprecated ICU 59
utmscale.h | `enum` UTimeScaleValue::UTSV_MAX_SCALE_VALUE | Stable ICU 3.2 | Deprecated ICU 59

(jump back to top)

## Changed in ICU 59 (old, new)

File | API | ICU 58 | ICU 59
--- | --- | --- | ---
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createGallonImperial(UErrorCode&) | Draft→Stable ICU 57
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createMilePerGallonImperial(UErrorCode&) | Draft→Stable ICU 57
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createMilligramPerDeciliter(UErrorCode&) | Draft→Stable ICU 57
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createMillimolePerLiter(UErrorCode&) | Draft→Stable ICU 57
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPartPerMillion(UErrorCode&) | Draft→Stable ICU 57
reldatefmt.h | UnicodeString& icu::RelativeDateTimeFormatter::format(double, URelativeDateTimeUnit, UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
reldatefmt.h | UnicodeString& icu::RelativeDateTimeFormatter::formatNumeric(double, URelativeDateTimeUnit, UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | SimpleFormatter& icu::SimpleFormatter::operator=(const SimpleFormatter&) | Draft→Stable ICU 57
simpleformatter.h | UBool icu::SimpleFormatter::applyPattern(const UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | UBool icu::SimpleFormatter::applyPatternMinMaxArguments(const UnicodeString&, int32_t, int32_t, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | UnicodeString icu::SimpleFormatter::getTextWithNoArguments() | Draft→Stable ICU 57
simpleformatter.h | UnicodeString& icu::SimpleFormatter::format(const UnicodeString&, UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | UnicodeString& icu::SimpleFormatter::format(const UnicodeString&, const UnicodeString&, UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | UnicodeString& icu::SimpleFormatter::format(const UnicodeString&, const UnicodeString&, const UnicodeString&, UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | UnicodeString& icu::SimpleFormatter::formatAndAppend(const UnicodeString* const*, int32_t, UnicodeString&, int32_t*, int32_t, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | UnicodeString& icu::SimpleFormatter::formatAndReplace(const UnicodeString* const*, int32_t, UnicodeString&, int32_t*, int32_t, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | icu::SimpleFormatter::SimpleFormatter() | Draft→Stable ICU 57
simpleformatter.h | icu::SimpleFormatter::SimpleFormatter(const SimpleFormatter&) | Draft→Stable ICU 57
simpleformatter.h | icu::SimpleFormatter::SimpleFormatter(const UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | icu::SimpleFormatter::SimpleFormatter(const UnicodeString&, int32_t, int32_t, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | icu::SimpleFormatter::~SimpleFormatter() | Draft→Stable ICU 57
simpleformatter.h | int32_t icu::SimpleFormatter::getArgumentLimit() | Draft→Stable ICU 57
uchar.h | `enum` UProperty::UCHAR_EMOJI_MODIFIER_BASE | Draft→Stable ICU 57
uchar.h | `enum` UProperty::UCHAR_EMOJI_MODIFIER | Draft→Stable ICU 57
uchar.h | `enum` UProperty::UCHAR_EMOJI_PRESENTATION | Draft→Stable ICU 57
uchar.h | `enum` UProperty::UCHAR_EMOJI | Draft→Stable ICU 57
udat.h | `enum` UDateFormatField::UDAT_AM_PM_MIDNIGHT_NOON_FIELD | Draft→Stable ICU 57
ureldatefmt.h | URelativeDateTimeFormatter* ureldatefmt_open(const char*, UNumberFormat*, UDateRelativeDateTimeFormatterStyle, UDisplayContext, UErrorCode*) | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_DAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_FRIDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_HOUR | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_MINUTE | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_MONDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_MONTH | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_QUARTER | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_SATURDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_SECOND | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_SUNDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_THURSDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_TUESDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_WEDNESDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_WEEK | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_YEAR | Draft→Stable ICU 57
ureldatefmt.h | int32_t ureldatefmt_combineDateAndTime(const URelativeDateTimeFormatter*, const UChar*, int32_t, const UChar*, int32_t, UChar*, int32_t, UErrorCode*) | Draft→Stable ICU 57
ureldatefmt.h | int32_t ureldatefmt_format(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UChar*, int32_t, UErrorCode*) | Draft→Stable ICU 57
ureldatefmt.h | int32_t ureldatefmt_formatNumeric(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UChar*, int32_t, UErrorCode*) | Draft→Stable ICU 57
ureldatefmt.h | void ureldatefmt_close(URelativeDateTimeFormatter*) | Draft→Stable ICU 57
utmscale.h | `enum` UDateTimeScale::UDTS_MAX_SCALE | Stable ICU 3.2 | Deprecated ICU 59
utmscale.h | `enum` UTimeScaleValue::UTSV_MAX_SCALE_VALUE | Stable ICU 3.2 | Deprecated ICU 59

(jump back to top)

## Promoted to stable in ICU 59

File | API | ICU 58 | ICU 59
--- | --- | --- | ---
localpointer.h | LocalArray<T>& icu::LocalArray< T >::operator=(LocalArray< T >&&) U_NOEXCEPT | (missing) | Stable ICU 56
localpointer.h | LocalPointer<T>& icu::LocalPointer< T >::operator=(LocalPointer< T >&&) U_NOEXCEPT | (missing) | Stable ICU 56
localpointer.h | icu::LocalArray< T >::LocalArray(LocalArray< T >&&) U_NOEXCEPT | (missing) | Stable ICU 56
localpointer.h | icu::LocalPointer< T >::LocalPointer(LocalPointer< T >&&) U_NOEXCEPT | (missing) | Stable ICU 56
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createGallonImperial(UErrorCode&) | Draft→Stable ICU 57
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createMilePerGallonImperial(UErrorCode&) | Draft→Stable ICU 57
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createMilligramPerDeciliter(UErrorCode&) | Draft→Stable ICU 57
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createMillimolePerLiter(UErrorCode&) | Draft→Stable ICU 57
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPartPerMillion(UErrorCode&) | Draft→Stable ICU 57
reldatefmt.h | UnicodeString& icu::RelativeDateTimeFormatter::format(double, URelativeDateTimeUnit, UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
reldatefmt.h | UnicodeString& icu::RelativeDateTimeFormatter::formatNumeric(double, URelativeDateTimeUnit, UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | SimpleFormatter& icu::SimpleFormatter::operator=(const SimpleFormatter&) | Draft→Stable ICU 57
simpleformatter.h | UBool icu::SimpleFormatter::applyPattern(const UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | UBool icu::SimpleFormatter::applyPatternMinMaxArguments(const UnicodeString&, int32_t, int32_t, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | UnicodeString icu::SimpleFormatter::getTextWithNoArguments() | Draft→Stable ICU 57
simpleformatter.h | UnicodeString& icu::SimpleFormatter::format(const UnicodeString&, UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | UnicodeString& icu::SimpleFormatter::format(const UnicodeString&, const UnicodeString&, UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | UnicodeString& icu::SimpleFormatter::format(const UnicodeString&, const UnicodeString&, const UnicodeString&, UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | UnicodeString& icu::SimpleFormatter::formatAndAppend(const UnicodeString* const*, int32_t, UnicodeString&, int32_t*, int32_t, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | UnicodeString& icu::SimpleFormatter::formatAndReplace(const UnicodeString* const*, int32_t, UnicodeString&, int32_t*, int32_t, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | icu::SimpleFormatter::SimpleFormatter() | Draft→Stable ICU 57
simpleformatter.h | icu::SimpleFormatter::SimpleFormatter(const SimpleFormatter&) | Draft→Stable ICU 57
simpleformatter.h | icu::SimpleFormatter::SimpleFormatter(const UnicodeString&, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | icu::SimpleFormatter::SimpleFormatter(const UnicodeString&, int32_t, int32_t, UErrorCode&) | Draft→Stable ICU 57
simpleformatter.h | icu::SimpleFormatter::~SimpleFormatter() | Draft→Stable ICU 57
simpleformatter.h | int32_t icu::SimpleFormatter::getArgumentLimit() | Draft→Stable ICU 57
uchar.h | `enum` UProperty::UCHAR_EMOJI_MODIFIER_BASE | Draft→Stable ICU 57
uchar.h | `enum` UProperty::UCHAR_EMOJI_MODIFIER | Draft→Stable ICU 57
uchar.h | `enum` UProperty::UCHAR_EMOJI_PRESENTATION | Draft→Stable ICU 57
uchar.h | `enum` UProperty::UCHAR_EMOJI | Draft→Stable ICU 57
udat.h | `enum` UDateFormatField::UDAT_AM_PM_MIDNIGHT_NOON_FIELD | Draft→Stable ICU 57
unistr.h | UnicodeString& icu::UnicodeString::operator=(UnicodeString&&) U_NOEXCEPT | (missing) | Stable ICU 56
unistr.h | icu::UnicodeString::UnicodeString(UnicodeString&&) U_NOEXCEPT | (missing) | Stable ICU 56
ureldatefmt.h | URelativeDateTimeFormatter* ureldatefmt_open(const char*, UNumberFormat*, UDateRelativeDateTimeFormatterStyle, UDisplayContext, UErrorCode*) | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_DAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_FRIDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_HOUR | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_MINUTE | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_MONDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_MONTH | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_QUARTER | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_SATURDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_SECOND | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_SUNDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_THURSDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_TUESDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_WEDNESDAY | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_WEEK | Draft→Stable ICU 57
ureldatefmt.h | `enum` URelativeDateTimeUnit::UDAT_REL_UNIT_YEAR | Draft→Stable ICU 57
ureldatefmt.h | int32_t ureldatefmt_combineDateAndTime(const URelativeDateTimeFormatter*, const UChar*, int32_t, const UChar*, int32_t, UChar*, int32_t, UErrorCode*) | Draft→Stable ICU 57
ureldatefmt.h | int32_t ureldatefmt_format(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UChar*, int32_t, UErrorCode*) | Draft→Stable ICU 57
ureldatefmt.h | int32_t ureldatefmt_formatNumeric(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UChar*, int32_t, UErrorCode*) | Draft→Stable ICU 57
ureldatefmt.h | void ureldatefmt_close(URelativeDateTimeFormatter*) | Draft→Stable ICU 57

(jump back to top)

## Added in ICU 59

File | API | ICU 58 | ICU 59
--- | --- | --- | ---
casemap.h | `static` int32_t icu::CaseMap::fold(uint32_t, const char16_t*, int32_t, char16_t*, int32_t, Edits*, UErrorCode&) | (missing) | 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&) | (missing) | 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&) | (missing) | 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&) | (missing) | Draft ICU 59
casemap.h | `static` int32_t icu::CaseMap::utf8Fold(uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&) | (missing) | Draft ICU 59
casemap.h | `static` int32_t icu::CaseMap::utf8ToLower(const char*, uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&) | (missing) | 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&) | (missing) | Draft ICU 59
casemap.h | `static` int32_t icu::CaseMap::utf8ToUpper(const char*, uint32_t, const char*, int32_t, char*, int32_t, Edits*, UErrorCode&) | (missing) | Draft ICU 59
char16ptr.h | char16_t* icu::Char16Ptr::get() | (missing) | Draft ICU 59
char16ptr.h | const char16_t* icu::ConstChar16Ptr::get() | (missing) | Draft ICU 59
char16ptr.h | icu::Char16Ptr::Char16Ptr(char16_t*) | (missing) | Draft ICU 59
char16ptr.h | icu::Char16Ptr::Char16Ptr(std::nullptr_t) | (missing) | Draft ICU 59
char16ptr.h | icu::Char16Ptr::Char16Ptr(uint16_t*) | (missing) | Draft ICU 59
char16ptr.h | icu::Char16Ptr::Char16Ptr(wchar_t*) | (missing) | Draft ICU 59
char16ptr.h | icu::Char16Ptr::operator char16_t* () | (missing) | Draft ICU 59
char16ptr.h | icu::Char16Ptr::~Char16Ptr() | (missing) | Draft ICU 59
char16ptr.h | icu::ConstChar16Ptr::ConstChar16Ptr(const char16_t*) | (missing) | Draft ICU 59
char16ptr.h | icu::ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t) | (missing) | Draft ICU 59
char16ptr.h | icu::ConstChar16Ptr::ConstChar16Ptr(const uint16_t*) | (missing) | Draft ICU 59
char16ptr.h | icu::ConstChar16Ptr::ConstChar16Ptr(const wchar_t*) | (missing) | Draft ICU 59
char16ptr.h | icu::ConstChar16Ptr::operator const char16_t* () | (missing) | Draft ICU 59
char16ptr.h | icu::ConstChar16Ptr::~ConstChar16Ptr() | (missing) | Draft ICU 59
edits.h | Iterator icu::Edits::getCoarseChangesIterator() | (missing) | Draft ICU 59
edits.h | Iterator icu::Edits::getCoarseIterator() | (missing) | Draft ICU 59
edits.h | Iterator icu::Edits::getFineChangesIterator() | (missing) | Draft ICU 59
edits.h | Iterator icu::Edits::getFineIterator() | (missing) | Draft ICU 59
edits.h | UBool icu::Edits::copyErrorTo(UErrorCode&) | (missing) | Draft ICU 59
edits.h | UBool icu::Edits::hasChanges() | (missing) | Draft ICU 59
edits.h | icu::Edits::Edits() | (missing) | Draft ICU 59
edits.h | icu::Edits::~Edits() | (missing) | Draft ICU 59
edits.h | int32_t icu::Edits::lengthDelta() | (missing) | Draft ICU 59
edits.h | void icu::Edits::addReplace(int32_t, int32_t) | (missing) | Draft ICU 59
edits.h | void icu::Edits::addUnchanged(int32_t) | (missing) | Draft ICU 59
edits.h | void icu::Edits::reset() | (missing) | Draft ICU 59
localpointer.h | LocalArray<T>& icu::LocalArray< T >::operator=(LocalArray< T >&&) U_NOEXCEPT | (missing) | Stable ICU 56
localpointer.h | LocalPointer<T>& icu::LocalPointer< T >::operator=(LocalPointer< T >&&) U_NOEXCEPT | (missing) | Stable ICU 56
localpointer.h | icu::LocalArray< T >::LocalArray(LocalArray< T >&&) U_NOEXCEPT | (missing) | Stable ICU 56
localpointer.h | icu::LocalPointer< T >::LocalPointer(LocalPointer< T >&&) U_NOEXCEPT | (missing) | Stable ICU 56
measunit.h | `static` MeasureUnit* icu::MeasureUnit::createPoint(UErrorCode&) | (missing) | Draft ICU 59
platform.h | `#define` U_PLATFORM_HAS_WINUWP_API | (missing) | Internal
plurrule.h | UnicodeString icu::PluralRules::select(const Formattable&, const NumberFormat&, UErrorCode&) | (missing) | Internal ICU 59
ubrk.h | UBreakIterator* ubrk_openBinaryRules(const uint8_t*, int32_t, const UChar*, int32_t, UErrorCode*) | (missing) | Draft ICU 59
ubrk.h | int32_t ubrk_getBinaryRules(UBreakIterator*, uint8_t*, int32_t, UErrorCode*) | (missing) | Draft ICU 59
ucasemap.h | `#define` UCASEMAP_OMIT_UNCHANGED_TEXT | (missing) | Draft ICU 59
umachine.h | `#define` U_CHAR16_IS_TYPEDEF | (missing) | Internal
unistr.h | UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const uint16_t*) | (missing) | Draft ICU 59
unistr.h | UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const wchar_t*) | (missing) | Draft ICU 59
unistr.h | UnicodeString& icu::UnicodeString::operator=(UnicodeString&&) U_NOEXCEPT | (missing) | Stable ICU 56
unistr.h | icu::UnicodeString::UnicodeString(UnicodeString&&) U_NOEXCEPT | (missing) | Stable ICU 56
unistr.h | icu::UnicodeString::UnicodeString(const std::nullptr_t) | (missing) | Draft ICU 59
unistr.h | icu::UnicodeString::UnicodeString(const std::nullptr_t, int32_t) | (missing) | Draft ICU 59
unistr.h | icu::UnicodeString::UnicodeString(const uint16_t*, int32_t) | (missing) | Draft ICU 59
unistr.h | icu::UnicodeString::UnicodeString(const wchar_t*, int32_t) | (missing) | Draft ICU 59
unistr.h | icu::UnicodeString::UnicodeString(std::nullptr_t, int32_t, int32_t) | (missing) | Draft ICU 59
unistr.h | icu::UnicodeString::UnicodeString(uint16_t*, int32_t, int32_t) | (missing) | Draft ICU 59
unistr.h | icu::UnicodeString::UnicodeString(wchar_t*, int32_t, int32_t) | (missing) | Draft ICU 59
unum.h | int32_t unum_formatDoubleForFields(const UNumberFormat*, double, UChar*, int32_t, UFieldPositionIterator*, UErrorCode*) | (missing) | Draft ICU 59
upluralrules.h | UEnumeration* uplrules_getKeywords(const UPluralRules*, UErrorCode*) | (missing) | Draft ICU 59
upluralrules.h | int32_t uplrules_selectWithFormat(const UPluralRules*, double, const UNumberFormat*, UChar*, int32_t, UErrorCode*) | (missing) | Internal ICU 59

(jump back to top)

## Other existing drafts in ICU 59

File | API | ICU 58 | ICU 59
--- | --- | --- | ---
localpointer.h | LocalArray<T>& icu::LocalArray< T >::moveFrom(LocalArray< T >&) U_NOEXCEPT | Draft ICU 56
localpointer.h | LocalPointer<T>& icu::LocalPointer< T >::moveFrom(LocalPointer< T >&) U_NOEXCEPT | Draft ICU 56
measfmt.h | UnicodeString icu::MeasureFormat::getUnitDisplayName(const MeasureUnit&, UErrorCode&) | Draft ICU 58
measfmt.h | void icu::MeasureFormat::parseObject(const UnicodeString&, Formattable&, ParsePosition&) | Draft ICU 53
ubiditransform.h | UBiDiTransform* ubiditransform_open(UErrorCode*) | Draft ICU 58
ubiditransform.h | `enum` UBiDiMirroring::UBIDI_MIRRORING_OFF | Draft ICU 58
ubiditransform.h | `enum` UBiDiMirroring::UBIDI_MIRRORING_ON | Draft ICU 58
ubiditransform.h | `enum` UBiDiOrder::UBIDI_LOGICAL | Draft ICU 58
ubiditransform.h | `enum` UBiDiOrder::UBIDI_VISUAL | Draft 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 ICU 58
ubiditransform.h | void ubiditransform_close(UBiDiTransform*) | Draft ICU 58
udisplaycontext.h | `enum` UDisplayContext::UDISPCTX_NO_SUBSTITUTE | Draft ICU 58
udisplaycontext.h | `enum` UDisplayContext::UDISPCTX_SUBSTITUTE | Draft ICU 58
udisplaycontext.h | `enum` UDisplayContextType::UDISPCTX_TYPE_SUBSTITUTE_HANDLING | Draft ICU 58
unistr.h | UnicodeString& icu::UnicodeString::moveFrom(UnicodeString&) U_NOEXCEPT | Draft ICU 56
uregex.h | `enum` URegexpFlag::UREGEX_CANON_EQ | Draft ICU 2.4
uspoof.h | URestrictionLevel uspoof_getCheckResultRestrictionLevel(const USpoofCheckResult*, UErrorCode*) | Draft ICU 58
uspoof.h | USpoofCheckResult* uspoof_openCheckResult(UErrorCode*) | Draft ICU 58
uspoof.h | U_NAMESPACE_END int32_t uspoof_getCheckResultChecks(const USpoofCheckResult*, UErrorCode*) | Draft ICU 58
uspoof.h | const USet* uspoof_getCheckResultNumerics(const USpoofCheckResult*, UErrorCode*) | Draft ICU 58
uspoof.h | `enum` USpoofChecks::USPOOF_CONFUSABLE | Draft ICU 58
uspoof.h | int32_t uspoof_check2(const USpoofChecker*, const UChar*, int32_t, USpoofCheckResult*, UErrorCode*) | Draft ICU 58
uspoof.h | int32_t uspoof_check2UTF8(const USpoofChecker*, const char*, int32_t, USpoofCheckResult*, UErrorCode*) | Draft ICU 58
uspoof.h | int32_t uspoof_check2UnicodeString(const USpoofChecker*, const icu::UnicodeString&, USpoofCheckResult*, UErrorCode*) | Draft ICU 58
uspoof.h | void uspoof_closeCheckResult(USpoofCheckResult*) | Draft ICU 58

(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 Apr 05 23:17:58 UTC 2017
Copyright (C) 2017, International Business Machines Corporation, All Rights Reserved.