ICU-21249 ICU4C API promotions
diff --git a/icu4c/source/common/unicode/bytestrie.h b/icu4c/source/common/unicode/bytestrie.h
index ada8813..85f802d 100644
--- a/icu4c/source/common/unicode/bytestrie.h
+++ b/icu4c/source/common/unicode/bytestrie.h
@@ -97,14 +97,13 @@
return *this;
}
-#ifndef U_HIDE_DRAFT_API
/**
* Returns the state of this trie as a 64-bit integer.
* The state value is never 0.
*
* @return opaque state value
* @see resetToState64
- * @draft ICU 65
+ * @stable ICU 65
*/
uint64_t getState64() const {
return (static_cast<uint64_t>(remainingMatchLength_ + 2) << kState64RemainingShift) |
@@ -123,14 +122,13 @@
* @see getState64
* @see resetToState
* @see reset
- * @draft ICU 65
+ * @stable ICU 65
*/
BytesTrie &resetToState64(uint64_t state) {
remainingMatchLength_ = static_cast<int32_t>(state >> kState64RemainingShift) - 2;
pos_ = bytes_ + (state & kState64PosMask);
return *this;
}
-#endif /* U_HIDE_DRAFT_API */
/**
* BytesTrie state object, for saving a trie's current state
diff --git a/icu4c/source/common/unicode/localebuilder.h b/icu4c/source/common/unicode/localebuilder.h
index a3b919b..27a894d 100644
--- a/icu4c/source/common/unicode/localebuilder.h
+++ b/icu4c/source/common/unicode/localebuilder.h
@@ -279,7 +279,6 @@
*/
Locale build(UErrorCode& status);
-#ifndef U_HIDE_DRAFT_API
/**
* Sets the UErrorCode if an error occurred while recording sets.
* Preserves older error codes in the outErrorCode.
@@ -287,10 +286,9 @@
* Unchanged if there is no such error or if outErrorCode
* already contained an error.
* @return true if U_FAILURE(outErrorCode)
- * @draft ICU 65
+ * @stable ICU 65
*/
UBool copyErrorTo(UErrorCode &outErrorCode) const;
-#endif /* U_HIDE_DRAFT_API */
private:
friend class LocaleMatcher::Result;
diff --git a/icu4c/source/common/unicode/localematcher.h b/icu4c/source/common/unicode/localematcher.h
index a5c01c9..63a68b0 100644
--- a/icu4c/source/common/unicode/localematcher.h
+++ b/icu4c/source/common/unicode/localematcher.h
@@ -20,26 +20,24 @@
* \brief C++ API: Locale matcher: User's desired locales vs. application's supported locales.
*/
-#ifndef U_FORCE_HIDE_DRAFT_API
-
/**
* Builder option for whether the language subtag or the script subtag is most important.
*
* @see LocaleMatcher::Builder#setFavorSubtag(ULocMatchFavorSubtag)
- * @draft ICU 65
+ * @stable ICU 65
*/
enum ULocMatchFavorSubtag {
/**
* Language differences are most important, then script differences, then region differences.
* (This is the default behavior.)
*
- * @draft ICU 65
+ * @stable ICU 65
*/
ULOCMATCH_FAVOR_LANGUAGE,
/**
* Makes script differences matter relatively more than language differences.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
ULOCMATCH_FAVOR_SCRIPT
};
@@ -52,13 +50,13 @@
* earlier ones are preferred.
*
* @see LocaleMatcher::Builder#setDemotionPerDesiredLocale(ULocMatchDemotion)
- * @draft ICU 65
+ * @stable ICU 65
*/
enum ULocMatchDemotion {
/**
* All desired locales are treated equally.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
ULOCMATCH_DEMOTION_NONE,
/**
@@ -85,7 +83,7 @@
* this is possible in future versions of the data.)
* </ul>
*
- * @draft ICU 65
+ * @stable ICU 65
*/
ULOCMATCH_DEMOTION_REGION
};
@@ -93,6 +91,8 @@
typedef enum ULocMatchDemotion ULocMatchDemotion;
#endif
+#ifndef U_FORCE_HIDE_DRAFT_API
+
/**
* Builder option for whether to include or ignore one-way (fallback) match data.
* The LocaleMatcher uses CLDR languageMatch data which includes fallback (oneway=true) entries.
@@ -129,6 +129,8 @@
typedef enum ULocMatchDirection ULocMatchDirection;
#endif
+#endif // U_FORCE_HIDE_DRAFT_API
+
struct UHashtable;
U_NAMESPACE_BEGIN
@@ -181,7 +183,7 @@
*
* <p>This class is not intended for public subclassing.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
class U_COMMON_API LocaleMatcher : public UMemory {
public:
@@ -189,7 +191,7 @@
* Data for the best-matching pair of a desired and a supported locale.
* Movable but not copyable.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
class U_COMMON_API Result : public UMemory {
public:
@@ -198,14 +200,14 @@
* This object will have the same contents that the source object had.
*
* @param src Result to move contents from.
- * @draft ICU 65
+ * @stable ICU 65
*/
Result(Result &&src) U_NOEXCEPT;
/**
* Destructor.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
~Result();
@@ -214,17 +216,16 @@
* This object will have the same contents that the source object had.
*
* @param src Result to move contents from.
- * @draft ICU 65
+ * @stable ICU 65
*/
Result &operator=(Result &&src) U_NOEXCEPT;
-#ifndef U_HIDE_DRAFT_API
/**
* Returns the best-matching desired locale.
* nullptr if the list of desired locales is empty or if none matched well enough.
*
* @return the best-matching desired locale, or nullptr.
- * @draft ICU 65
+ * @stable ICU 65
*/
inline const Locale *getDesiredLocale() const { return desiredLocale; }
@@ -235,7 +236,7 @@
* or if the list of supported locales is empty and no explicit default locale is set.
*
* @return the best-matching supported locale, or nullptr.
- * @draft ICU 65
+ * @stable ICU 65
*/
inline const Locale *getSupportedLocale() const { return supportedLocale; }
@@ -244,7 +245,7 @@
* -1 if the list of desired locales is empty or if none matched well enough.
*
* @return the index of the best-matching desired locale, or -1.
- * @draft ICU 65
+ * @stable ICU 65
*/
inline int32_t getDesiredIndex() const { return desiredIndex; }
@@ -256,7 +257,7 @@
* -1 if the list of supported locales is empty or if none matched well enough.
*
* @return the index of the best-matching supported locale, or -1.
- * @draft ICU 65
+ * @stable ICU 65
*/
inline int32_t getSupportedIndex() const { return supportedIndex; }
@@ -270,10 +271,9 @@
* <p>Example: desired=ar-SA-u-nu-latn, supported=ar-EG, resolved locale=ar-SA-u-nu-latn
*
* @return a locale combining the best-matching desired and supported locales.
- * @draft ICU 65
+ * @stable ICU 65
*/
Locale makeResolvedLocale(UErrorCode &errorCode) const;
-#endif // U_HIDE_DRAFT_API
private:
Result(const Locale *desired, const Locale *supported,
@@ -298,7 +298,7 @@
* LocaleMatcher builder.
* Movable but not copyable.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
class U_COMMON_API Builder : public UMemory {
public:
@@ -306,7 +306,7 @@
* Constructs a builder used in chaining parameters for building a LocaleMatcher.
*
* @return a new Builder object
- * @draft ICU 65
+ * @stable ICU 65
*/
Builder() {}
@@ -315,14 +315,14 @@
* This builder will have the same contents that the source builder had.
*
* @param src Builder to move contents from.
- * @draft ICU 65
+ * @stable ICU 65
*/
Builder(Builder &&src) U_NOEXCEPT;
/**
* Destructor.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
~Builder();
@@ -331,11 +331,10 @@
* This builder will have the same contents that the source builder had.
*
* @param src Builder to move contents from.
- * @draft ICU 65
+ * @stable ICU 65
*/
Builder &operator=(Builder &&src) U_NOEXCEPT;
-#ifndef U_HIDE_DRAFT_API
/**
* Parses an Accept-Language string
* (<a href="https://tools.ietf.org/html/rfc2616#section-14.4">RFC 2616 Section 14.4</a>),
@@ -345,7 +344,7 @@
*
* @param locales the Accept-Language string of locales to set
* @return this Builder object
- * @draft ICU 65
+ * @stable ICU 65
*/
Builder &setSupportedLocalesFromListString(StringPiece locales);
@@ -356,7 +355,7 @@
*
* @param locales the list of locale
* @return this Builder object
- * @draft ICU 65
+ * @stable ICU 65
*/
Builder &setSupportedLocales(Locale::Iterator &locales);
@@ -371,7 +370,7 @@
* @param begin Start of range.
* @param end Exclusive end of range.
* @return this Builder object
- * @draft ICU 65
+ * @stable ICU 65
*/
template<typename Iter>
Builder &setSupportedLocales(Iter begin, Iter end) {
@@ -396,7 +395,7 @@
* @param end Exclusive end of range.
* @param converter Converter from *begin to const Locale & or compatible.
* @return this Builder object
- * @draft ICU 65
+ * @stable ICU 65
*/
template<typename Iter, typename Conv>
Builder &setSupportedLocalesViaConverter(Iter begin, Iter end, Conv converter) {
@@ -414,7 +413,7 @@
*
* @param locale another locale
* @return this Builder object
- * @draft ICU 65
+ * @stable ICU 65
*/
Builder &addSupportedLocale(const Locale &locale);
@@ -438,7 +437,7 @@
*
* @param defaultLocale the default locale (will be copied)
* @return this Builder object
- * @draft ICU 65
+ * @stable ICU 65
*/
Builder &setDefaultLocale(const Locale *defaultLocale);
@@ -450,7 +449,7 @@
*
* @param subtag the subtag to favor
* @return this Builder object
- * @draft ICU 65
+ * @stable ICU 65
*/
Builder &setFavorSubtag(ULocMatchFavorSubtag subtag);
@@ -460,10 +459,11 @@
*
* @param demotion the demotion per desired locale to set.
* @return this Builder object
- * @draft ICU 65
+ * @stable ICU 65
*/
Builder &setDemotionPerDesiredLocale(ULocMatchDemotion demotion);
+#ifndef U_HIDE_DRAFT_API
/**
* Option for whether to include or ignore one-way (fallback) match data.
* By default, they are included.
@@ -478,6 +478,7 @@
}
return *this;
}
+#endif // U_HIDE_DRAFT_API
#ifndef U_HIDE_DRAFT_API
/**
@@ -512,7 +513,7 @@
* and an error occurred while setting parameters.
* Otherwise unchanged.
* @return true if U_FAILURE(outErrorCode)
- * @draft ICU 65
+ * @stable ICU 65
*/
UBool copyErrorTo(UErrorCode &outErrorCode) const;
@@ -524,10 +525,9 @@
* or else the function returns immediately. Check for U_FAILURE()
* on output or use with function chaining. (See User Guide for details.)
* @return LocaleMatcher
- * @draft ICU 65
+ * @stable ICU 65
*/
LocaleMatcher build(UErrorCode &errorCode) const;
-#endif // U_HIDE_DRAFT_API
private:
friend class LocaleMatcher;
@@ -556,13 +556,13 @@
* Move copy constructor; might modify the source.
* This matcher will have the same settings that the source matcher had.
* @param src source matcher
- * @draft ICU 65
+ * @stable ICU 65
*/
LocaleMatcher(LocaleMatcher &&src) U_NOEXCEPT;
/**
* Destructor.
- * @draft ICU 65
+ * @stable ICU 65
*/
~LocaleMatcher();
@@ -572,11 +572,10 @@
* The behavior is undefined if *this and src are the same object.
* @param src source matcher
* @return *this
- * @draft ICU 65
+ * @stable ICU 65
*/
LocaleMatcher &operator=(LocaleMatcher &&src) U_NOEXCEPT;
-#ifndef U_HIDE_DRAFT_API
/**
* Returns the supported locale which best matches the desired locale.
*
@@ -585,7 +584,7 @@
* or else the function returns immediately. Check for U_FAILURE()
* on output or use with function chaining. (See User Guide for details.)
* @return the best-matching supported locale.
- * @draft ICU 65
+ * @stable ICU 65
*/
const Locale *getBestMatch(const Locale &desiredLocale, UErrorCode &errorCode) const;
@@ -597,7 +596,7 @@
* or else the function returns immediately. Check for U_FAILURE()
* on output or use with function chaining. (See User Guide for details.)
* @return the best-matching supported locale.
- * @draft ICU 65
+ * @stable ICU 65
*/
const Locale *getBestMatch(Locale::Iterator &desiredLocales, UErrorCode &errorCode) const;
@@ -613,7 +612,7 @@
* or else the function returns immediately. Check for U_FAILURE()
* on output or use with function chaining. (See User Guide for details.)
* @return the best-matching supported locale.
- * @draft ICU 65
+ * @stable ICU 65
*/
const Locale *getBestMatchForListString(StringPiece desiredLocaleList, UErrorCode &errorCode) const;
@@ -627,7 +626,7 @@
* or else the function returns immediately. Check for U_FAILURE()
* on output or use with function chaining. (See User Guide for details.)
* @return the best-matching pair of the desired and a supported locale.
- * @draft ICU 65
+ * @stable ICU 65
*/
Result getBestMatchResult(const Locale &desiredLocale, UErrorCode &errorCode) const;
@@ -641,10 +640,9 @@
* or else the function returns immediately. Check for U_FAILURE()
* on output or use with function chaining. (See User Guide for details.)
* @return the best-matching pair of a desired and a supported locale.
- * @draft ICU 65
+ * @stable ICU 65
*/
Result getBestMatchResult(Locale::Iterator &desiredLocales, UErrorCode &errorCode) const;
-#endif // U_HIDE_DRAFT_API
#ifndef U_HIDE_DRAFT_API
/**
@@ -718,6 +716,5 @@
U_NAMESPACE_END
-#endif // U_FORCE_HIDE_DRAFT_API
#endif // U_SHOW_CPLUSPLUS_API
#endif // __LOCALEMATCHER_H__
diff --git a/icu4c/source/common/unicode/locid.h b/icu4c/source/common/unicode/locid.h
index 4620b09..ba858d7 100644
--- a/icu4c/source/common/unicode/locid.h
+++ b/icu4c/source/common/unicode/locid.h
@@ -1009,32 +1009,31 @@
*/
virtual UClassID getDynamicClassID() const;
-#ifndef U_HIDE_DRAFT_API
/**
* A Locale iterator interface similar to a Java Iterator<Locale>.
- * @draft ICU 65
+ * @stable ICU 65
*/
class U_COMMON_API Iterator /* not : public UObject because this is an interface/mixin class */ {
public:
- /** @draft ICU 65 */
+ /** @stable ICU 65 */
virtual ~Iterator();
/**
* @return true if next() can be called again.
- * @draft ICU 65
+ * @stable ICU 65
*/
virtual UBool hasNext() const = 0;
/**
* @return the next locale.
- * @draft ICU 65
+ * @stable ICU 65
*/
virtual const Locale &next() = 0;
};
/**
* A generic Locale iterator implementation over Locale input iterators.
- * @draft ICU 65
+ * @stable ICU 65
*/
template<typename Iter>
class RangeIterator : public Iterator, public UMemory {
@@ -1046,19 +1045,19 @@
*
* @param begin Start of range.
* @param end Exclusive end of range.
- * @draft ICU 65
+ * @stable ICU 65
*/
RangeIterator(Iter begin, Iter end) : it_(begin), end_(end) {}
/**
* @return true if next() can be called again.
- * @draft ICU 65
+ * @stable ICU 65
*/
UBool hasNext() const override { return it_ != end_; }
/**
* @return the next locale.
- * @draft ICU 65
+ * @stable ICU 65
*/
const Locale &next() override { return *it_++; }
@@ -1070,7 +1069,7 @@
/**
* A generic Locale iterator implementation over Locale input iterators.
* Calls the converter to convert each *begin to a const Locale &.
- * @draft ICU 65
+ * @stable ICU 65
*/
template<typename Iter, typename Conv>
class ConvertingIterator : public Iterator, public UMemory {
@@ -1083,20 +1082,20 @@
* @param begin Start of range.
* @param end Exclusive end of range.
* @param converter Converter from *begin to const Locale & or compatible.
- * @draft ICU 65
+ * @stable ICU 65
*/
ConvertingIterator(Iter begin, Iter end, Conv converter) :
it_(begin), end_(end), converter_(converter) {}
/**
* @return true if next() can be called again.
- * @draft ICU 65
+ * @stable ICU 65
*/
UBool hasNext() const override { return it_ != end_; }
/**
* @return the next locale.
- * @draft ICU 65
+ * @stable ICU 65
*/
const Locale &next() override { return converter_(*it_++); }
@@ -1105,7 +1104,6 @@
const Iter end_;
Conv converter_;
};
-#endif // U_HIDE_DRAFT_API
protected: /* only protected for testing purposes. DO NOT USE. */
#ifndef U_HIDE_INTERNAL_API
diff --git a/icu4c/source/common/unicode/stringpiece.h b/icu4c/source/common/unicode/stringpiece.h
index d7c18e7..7d7d871 100644
--- a/icu4c/source/common/unicode/stringpiece.h
+++ b/icu4c/source/common/unicode/stringpiece.h
@@ -111,7 +111,6 @@
#endif
#endif // U_HIDE_DRAFT_API
-#ifndef U_HIDE_DRAFT_API
/**
* Constructs from some other implementation of a string piece class, from any
* C++ record type that has these two methods:
@@ -132,7 +131,7 @@
* as from std::u8string_view.
*
* @param str the other string piece
- * @draft ICU 65
+ * @stable ICU 65
*/
template <typename T,
typename = typename std::enable_if<
@@ -145,7 +144,6 @@
StringPiece(T str)
: ptr_(reinterpret_cast<const char*>(str.data())),
length_(static_cast<int32_t>(str.size())) {}
-#endif // U_HIDE_DRAFT_API
/**
* Constructs from a const char * pointer and a specified length.
diff --git a/icu4c/source/common/unicode/ucharstrie.h b/icu4c/source/common/unicode/ucharstrie.h
index cbb0af5..b6f9e3e 100644
--- a/icu4c/source/common/unicode/ucharstrie.h
+++ b/icu4c/source/common/unicode/ucharstrie.h
@@ -97,14 +97,13 @@
return *this;
}
-#ifndef U_HIDE_DRAFT_API
/**
* Returns the state of this trie as a 64-bit integer.
* The state value is never 0.
*
* @return opaque state value
* @see resetToState64
- * @draft ICU 65
+ * @stable ICU 65
*/
uint64_t getState64() const {
return (static_cast<uint64_t>(remainingMatchLength_ + 2) << kState64RemainingShift) |
@@ -123,14 +122,13 @@
* @see getState64
* @see resetToState
* @see reset
- * @draft ICU 65
+ * @stable ICU 65
*/
UCharsTrie &resetToState64(uint64_t state) {
remainingMatchLength_ = static_cast<int32_t>(state >> kState64RemainingShift) - 2;
pos_ = uchars_ + (state & kState64PosMask);
return *this;
}
-#endif /* U_HIDE_DRAFT_API */
/**
* UCharsTrie state object, for saving a trie's current state
diff --git a/icu4c/source/common/unicode/uloc.h b/icu4c/source/common/unicode/uloc.h
index e6b5970..3addb84 100644
--- a/icu4c/source/common/unicode/uloc.h
+++ b/icu4c/source/common/unicode/uloc.h
@@ -796,19 +796,17 @@
*/
U_CAPI int32_t U_EXPORT2 uloc_countAvailable(void);
-#ifndef U_HIDE_DRAFT_API
-
/**
* Types for uloc_getAvailableByType and uloc_countAvailableByType.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
typedef enum ULocAvailableType {
/**
* Locales that return data when passed to ICU APIs,
* but not including legacy or alias locales.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
ULOC_AVAILABLE_DEFAULT,
@@ -826,7 +824,7 @@
* ULOC_AVAILABLE_DEFAULT. To get both sets at the same time, use
* ULOC_AVAILABLE_WITH_LEGACY_ALIASES.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
ULOC_AVAILABLE_ONLY_LEGACY_ALIASES,
@@ -834,7 +832,7 @@
* The union of the locales in ULOC_AVAILABLE_DEFAULT and
* ULOC_AVAILABLE_ONLY_LEGACY_ALIAS.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
ULOC_AVAILABLE_WITH_LEGACY_ALIASES,
@@ -855,13 +853,11 @@
* @param type Type choice from ULocAvailableType.
* @param status Set if an error occurred.
* @return a UEnumeration owned by the caller, or nullptr on failure.
- * @draft ICU 65
+ * @stable ICU 65
*/
U_CAPI UEnumeration* U_EXPORT2
uloc_openAvailableByType(ULocAvailableType type, UErrorCode* status);
-#endif // U_HIDE_DRAFT_API
-
/**
*
* Gets a list of all available 2-letter language codes defined in ISO 639,
diff --git a/icu4c/source/common/unicode/utrace.h b/icu4c/source/common/unicode/utrace.h
index 9b569e4..28c313c 100644
--- a/icu4c/source/common/unicode/utrace.h
+++ b/icu4c/source/common/unicode/utrace.h
@@ -112,11 +112,9 @@
UTRACE_COLLATION_LIMIT,
#endif // U_HIDE_DEPRECATED_API
-#ifndef U_HIDE_DRAFT_API
-
/**
* The lowest resource/data location.
- * @draft ICU 65
+ * @stable ICU 65
*/
UTRACE_UDATA_START=0x3000,
@@ -133,7 +131,7 @@
* - "get" (a path was loaded, but the value was not accessed)
* - "getalias" (a path was loaded, and an alias was resolved)
*
- * @draft ICU 65
+ * @stable ICU 65
*/
UTRACE_UDATA_RESOURCE=UTRACE_UDATA_START,
@@ -141,7 +139,7 @@
* Indicates that a resource bundle was opened.
*
* Provides one C-style string to UTraceData: file name.
- * @draft ICU 65
+ * @stable ICU 65
*/
UTRACE_UDATA_BUNDLE,
@@ -150,7 +148,7 @@
*
* Provides one C-style string to UTraceData: file name.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
UTRACE_UDATA_DATA_FILE,
@@ -163,12 +161,10 @@
*
* Provides one C-style string to UTraceData: file name.
*
- * @draft ICU 65
+ * @stable ICU 65
*/
UTRACE_UDATA_RES_FILE,
-#endif // U_HIDE_DRAFT_API
-
#ifndef U_HIDE_INTERNAL_API
/**
* One more than the highest normal resource/data trace location.
diff --git a/icu4c/source/i18n/number_asformat.h b/icu4c/source/i18n/number_asformat.h
index 7b0a1de..3a2fe31 100644
--- a/icu4c/source/i18n/number_asformat.h
+++ b/icu4c/source/i18n/number_asformat.h
@@ -25,7 +25,6 @@
* A wrapper around LocalizedNumberFormatter implementing the Format interface, enabling improved
* compatibility with other APIs.
*
- * @draft ICU 62
* @see NumberFormatter
*/
class U_I18N_API LocalizedNumberFormatterAsFormat : public Format {
diff --git a/icu4c/source/i18n/unicode/numberformatter.h b/icu4c/source/i18n/unicode/numberformatter.h
index b0c63dc..b2e8945 100644
--- a/icu4c/source/i18n/unicode/numberformatter.h
+++ b/icu4c/source/i18n/unicode/numberformatter.h
@@ -2624,7 +2624,6 @@
/** @copydoc FormattedValue::nextPosition() */
UBool nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const U_OVERRIDE;
-#ifndef U_HIDE_DRAFT_API
/**
* Export the formatted number as a "numeric string" conforming to the
* syntax defined in the Decimal Arithmetic Specification, available at
@@ -2641,11 +2640,10 @@
* for example, std::string.
* @param status Set if an error occurs.
* @return A StringClass containing the numeric string.
- * @draft ICU 65
+ * @stable ICU 65
*/
template<typename StringClass>
inline StringClass toDecimalNumber(UErrorCode& status) const;
-#endif // U_HIDE_DRAFT_API
#ifndef U_HIDE_DRAFT_API
/**
diff --git a/icu4c/source/i18n/unicode/reldatefmt.h b/icu4c/source/i18n/unicode/reldatefmt.h
index d5533bb..2a3742f 100644
--- a/icu4c/source/i18n/unicode/reldatefmt.h
+++ b/icu4c/source/i18n/unicode/reldatefmt.h
@@ -175,19 +175,17 @@
*/
UDAT_ABSOLUTE_QUARTER,
-#ifndef U_HIDE_DRAFT_API
/**
* Hour
- * @draft ICU 65
+ * @stable ICU 65
*/
UDAT_ABSOLUTE_HOUR,
/**
* Minute
- * @draft ICU 65
+ * @stable ICU 65
*/
UDAT_ABSOLUTE_MINUTE,
-#endif // U_HIDE_DRAFT_API
#ifndef U_HIDE_DEPRECATED_API
/**
diff --git a/icu4c/source/i18n/unicode/ucal.h b/icu4c/source/i18n/unicode/ucal.h
index 666b437..40b9393 100644
--- a/icu4c/source/i18n/unicode/ucal.h
+++ b/icu4c/source/i18n/unicode/ucal.h
@@ -662,8 +662,6 @@
U_CAPI void U_EXPORT2
ucal_setDefaultTimeZone(const UChar* zoneID, UErrorCode* ec);
-#ifndef U_HIDE_DRAFT_API
-
/**
* Return the current host time zone. The host time zone is detected from
* the current host system configuration by querying the host operating
@@ -691,13 +689,11 @@
*
* @see #UCAL_UNKNOWN_ZONE_ID
*
- * @draft ICU 65
+ * @stable ICU 65
*/
U_CAPI int32_t U_EXPORT2
ucal_getHostTimeZone(UChar *result, int32_t resultCapacity, UErrorCode *ec);
-#endif // U_HIDE_DRAFT_API
-
/**
* Return the amount of time in milliseconds that the clock is
* advanced during daylight savings time for the given time zone, or