Re-generate libandroidicu.so
The command:
./tools/icu4c_srcgen/generate_libandroidicu.py
Change-Id: I69d289b9fc087626710523111a13b5185cbef773
diff --git a/libandroidicu/include/unicode/platform.h b/libandroidicu/include/unicode/platform.h
index ad75b29..2bb2f8b 100644
--- a/libandroidicu/include/unicode/platform.h
+++ b/libandroidicu/include/unicode/platform.h
@@ -828,7 +828,7 @@
# define U_EXPORT
#endif
-/* U_CALLCONV is releated to U_EXPORT2 */
+/* U_CALLCONV is related to U_EXPORT2 */
#ifdef U_EXPORT2
/* Use the predefined value. */
#elif defined(_MSC_VER)
diff --git a/libandroidicu/include/unicode/udat.h b/libandroidicu/include/unicode/udat.h
index c3eb651..a0855c3 100644
--- a/libandroidicu/include/unicode/udat.h
+++ b/libandroidicu/include/unicode/udat.h
@@ -962,7 +962,37 @@
U_CAPI void U_EXPORT2
udat_setBooleanAttribute(UDateFormat *fmt, UDateFormatBooleanAttribute attr, UBool newValue, UErrorCode* status);
+#ifndef U_HIDE_DRAFT_API
+/**
+ * Hour Cycle.
+ * @draft ICU 67
+ */
+typedef enum UDateFormatHourCycle {
+ /**
+ * Hour in am/pm (0~11)
+ * @draft ICU 67
+ */
+ UDAT_HOUR_CYCLE_11,
+ /**
+ * Hour in am/pm (1~12)
+ * @draft ICU 67
+ */
+ UDAT_HOUR_CYCLE_12,
+
+ /**
+ * Hour in day (0~23)
+ * @draft ICU 67
+ */
+ UDAT_HOUR_CYCLE_23,
+
+ /**
+ * Hour in day (1~24)
+ * @draft ICU 67
+ */
+ UDAT_HOUR_CYCLE_24
+} UDateFormatHourCycle;
+#endif /* U_HIDE_DRAFT_API */
#if U_SHOW_CPLUSPLUS_API
diff --git a/libandroidicu/include/unicode/udateintervalformat.h b/libandroidicu/include/unicode/udateintervalformat.h
index 86dd678..90fab08 100644
--- a/libandroidicu/include/unicode/udateintervalformat.h
+++ b/libandroidicu/include/unicode/udateintervalformat.h
@@ -14,6 +14,7 @@
#if !UCONFIG_NO_FORMATTING
+#include "unicode/ucal.h"
#include "unicode/umisc.h"
#include "unicode/uformattedvalue.h"
@@ -85,14 +86,12 @@
struct UDateIntervalFormat;
typedef struct UDateIntervalFormat UDateIntervalFormat; /**< C typedef for struct UDateIntervalFormat. @stable ICU 4.8 */
-#ifndef U_HIDE_DRAFT_API
struct UFormattedDateInterval;
/**
* Opaque struct to contain the results of a UDateIntervalFormat operation.
- * @draft ICU 64
+ * @stable ICU 64
*/
typedef struct UFormattedDateInterval UFormattedDateInterval;
-#endif /* U_HIDE_DRAFT_API */
/**
* Open a new UDateIntervalFormat object using the predefined rules for a
@@ -135,8 +134,6 @@
U_STABLE void U_EXPORT2
udtitvfmt_close(UDateIntervalFormat *formatter);
-
-#ifndef U_HIDE_DRAFT_API
/**
* Creates an object to hold the result of a UDateIntervalFormat
* operation. The object can be used repeatedly; it is cleared whenever
@@ -144,7 +141,7 @@
*
* @param ec Set if an error occurs.
* @return A pointer needing ownership.
- * @draft ICU 64
+ * @stable ICU 64
*/
U_CAPI UFormattedDateInterval* U_EXPORT2
udtitvfmt_openResult(UErrorCode* ec);
@@ -169,7 +166,7 @@
* @param uresult The object containing the formatted string.
* @param ec Set if an error occurs.
* @return A UFormattedValue owned by the input object.
- * @draft ICU 64
+ * @stable ICU 64
*/
U_CAPI const UFormattedValue* U_EXPORT2
udtitvfmt_resultAsValue(const UFormattedDateInterval* uresult, UErrorCode* ec);
@@ -178,11 +175,10 @@
* Releases the UFormattedDateInterval created by udtitvfmt_openResult().
*
* @param uresult The object to release.
- * @draft ICU 64
+ * @stable ICU 64
*/
U_CAPI void U_EXPORT2
udtitvfmt_closeResult(UFormattedDateInterval* uresult);
-#endif /* U_HIDE_DRAFT_API */
#if U_SHOW_CPLUSPLUS_API
@@ -200,7 +196,6 @@
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalUDateIntervalFormatPointer, UDateIntervalFormat, udtitvfmt_close);
-#ifndef U_HIDE_DRAFT_API
/**
* \class LocalUFormattedDateIntervalPointer
* "Smart pointer" class, closes a UFormattedDateInterval via udtitvfmt_close().
@@ -208,10 +203,9 @@
*
* @see LocalPointerBase
* @see LocalPointer
- * @draft ICU 64
+ * @stable ICU 64
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattedDateIntervalPointer, UFormattedDateInterval, udtitvfmt_closeResult);
-#endif /* U_HIDE_DRAFT_API */
U_NAMESPACE_END
@@ -263,23 +257,48 @@
* UDateIntervalFormat object.
* @param formatter
* The UDateIntervalFormat object specifying the format conventions.
- * @param result
- * The UFormattedDateInterval to contain the result of the
- * formatting operation.
* @param fromDate
* The starting point of the range.
* @param toDate
* The ending point of the range.
+ * @param result
+ * The UFormattedDateInterval to contain the result of the
+ * formatting operation.
* @param status
* A pointer to a UErrorCode to receive any errors.
- * @draft ICU 64
+ * @draft ICU 67
*/
U_DRAFT void U_EXPORT2
udtitvfmt_formatToResult(
const UDateIntervalFormat* formatter,
- UFormattedDateInterval* result,
UDate fromDate,
UDate toDate,
+ UFormattedDateInterval* result,
+ UErrorCode* status);
+
+/**
+ * Formats a date/time range using the conventions established for the
+ * UDateIntervalFormat object.
+ * @param formatter
+ * The UDateIntervalFormat object specifying the format conventions.
+ * @param fromCalendar
+ * The starting point of the range.
+ * @param toCalendar
+ * The ending point of the range.
+ * @param result
+ * The UFormattedDateInterval to contain the result of the
+ * formatting operation.
+ * @param status
+ * A pointer to a UErrorCode to receive any errors.
+ * @draft ICU 67
+ */
+
+U_DRAFT void U_EXPORT2
+udtitvfmt_formatCalendarToResult(
+ const UDateIntervalFormat* formatter,
+ UCalendar* fromCalendar,
+ UCalendar* toCalendar,
+ UFormattedDateInterval* result,
UErrorCode* status);
#endif /* U_HIDE_DRAFT_API */
diff --git a/libandroidicu/include/unicode/udatpg.h b/libandroidicu/include/unicode/udatpg.h
index 9f6f5b1..0c9eed7 100644
--- a/libandroidicu/include/unicode/udatpg.h
+++ b/libandroidicu/include/unicode/udatpg.h
@@ -20,6 +20,7 @@
#define __UDATPG_H__
#include "unicode/utypes.h"
+#include "unicode/udat.h"
#include "unicode/uenum.h"
#if U_SHOW_CPLUSPLUS_API
@@ -654,4 +655,26 @@
const UChar *skeleton, int32_t skeletonLength,
int32_t *pLength);
+#if !UCONFIG_NO_FORMATTING
+
+#ifndef U_HIDE_DRAFT_API
+/**
+ * Return the default hour cycle for a locale. Uses the locale that the
+ * UDateTimePatternGenerator was initially created with.
+ *
+ * Cannot be used on an empty UDateTimePatternGenerator instance.
+ *
+ * @param dtpg a pointer to UDateTimePatternGenerator.
+ * @param pErrorCode a pointer to the UErrorCode which must not indicate a
+ * failure before the function call. Set to U_UNSUPPORTED_ERROR
+ * if used on an empty instance.
+ * @return the default hour cycle.
+ * @draft ICU 67
+ */
+U_DRAFT UDateFormatHourCycle U_EXPORT2
+udatpg_getDefaultHourCycle(const UDateTimePatternGenerator *dtpg, UErrorCode* pErrorCode);
+#endif /* U_HIDE_DRAFT_API */
+
+#endif /* #if !UCONFIG_NO_FORMATTING */
+
#endif
diff --git a/libandroidicu/include/unicode/uformattedvalue.h b/libandroidicu/include/unicode/uformattedvalue.h
index 0b289e3..07f4281 100644
--- a/libandroidicu/include/unicode/uformattedvalue.h
+++ b/libandroidicu/include/unicode/uformattedvalue.h
@@ -10,8 +10,6 @@
#include "unicode/ufieldpositer.h"
-#ifndef U_HIDE_DRAFT_API
-
/**
* \file
* \brief C API: Abstract operations for localized strings.
@@ -31,41 +29,41 @@
* categories 2^28 and higher or below zero (with the highest bit turned on)
* are private-use and will not be used by ICU in the future.
*
- * @draft ICU 64
+ * @stable ICU 64
*/
typedef enum UFieldCategory {
/**
* For an undefined field category.
*
- * @draft ICU 64
+ * @stable ICU 64
*/
UFIELD_CATEGORY_UNDEFINED = 0,
/**
* For fields in UDateFormatField (udat.h), from ICU 3.0.
*
- * @draft ICU 64
+ * @stable ICU 64
*/
UFIELD_CATEGORY_DATE,
/**
* For fields in UNumberFormatFields (unum.h), from ICU 49.
*
- * @draft ICU 64
+ * @stable ICU 64
*/
UFIELD_CATEGORY_NUMBER,
/**
* For fields in UListFormatterField (ulistformatter.h), from ICU 63.
*
- * @draft ICU 64
+ * @stable ICU 64
*/
UFIELD_CATEGORY_LIST,
/**
* For fields in URelativeDateTimeFormatterField (ureldatefmt.h), from ICU 64.
*
- * @draft ICU 64
+ * @stable ICU 64
*/
UFIELD_CATEGORY_RELATIVE_DATETIME,
@@ -84,14 +82,14 @@
/**
* Category for spans in a list.
*
- * @draft ICU 64
+ * @stable ICU 64
*/
UFIELD_CATEGORY_LIST_SPAN = 0x1000 + UFIELD_CATEGORY_LIST,
/**
* Category for spans in a date interval.
*
- * @draft ICU 64
+ * @stable ICU 64
*/
UFIELD_CATEGORY_DATE_INTERVAL_SPAN = 0x1000 + UFIELD_CATEGORY_DATE_INTERVAL,
@@ -108,7 +106,7 @@
* 2. It allows you to set constraints to use when iterating over field positions.
* 3. It is used for the newer FormattedValue APIs.
*
- * @draft ICU 64
+ * @stable ICU 64
*/
typedef struct UConstrainedFieldPosition UConstrainedFieldPosition;
@@ -120,9 +118,9 @@
*
* @param ec Set if an error occurs.
* @return The new object, or NULL if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT UConstrainedFieldPosition* U_EXPORT2
+U_STABLE UConstrainedFieldPosition* U_EXPORT2
ucfpos_open(UErrorCode* ec);
@@ -133,9 +131,9 @@
*
* @param ucfpos The instance of UConstrainedFieldPosition.
* @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
ucfpos_reset(
UConstrainedFieldPosition* ucfpos,
UErrorCode* ec);
@@ -145,9 +143,9 @@
* Destroys a UConstrainedFieldPosition and releases its memory.
*
* @param ucfpos The instance of UConstrainedFieldPosition.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
ucfpos_close(UConstrainedFieldPosition* ucfpos);
@@ -174,9 +172,9 @@
* @param ucfpos The instance of UConstrainedFieldPosition.
* @param category The field category to fix when iterating.
* @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
ucfpos_constrainCategory(
UConstrainedFieldPosition* ucfpos,
int32_t category,
@@ -207,9 +205,9 @@
* @param category The field category to fix when iterating.
* @param field The field to fix when iterating.
* @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
ucfpos_constrainField(
UConstrainedFieldPosition* ucfpos,
int32_t category,
@@ -227,9 +225,9 @@
* @param ucfpos The instance of UConstrainedFieldPosition.
* @param ec Set if an error occurs.
* @return The field category saved in the instance.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT int32_t U_EXPORT2
+U_STABLE int32_t U_EXPORT2
ucfpos_getCategory(
const UConstrainedFieldPosition* ucfpos,
UErrorCode* ec);
@@ -245,9 +243,9 @@
* @param ucfpos The instance of UConstrainedFieldPosition.
* @param ec Set if an error occurs.
* @return The field saved in the instance.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT int32_t U_EXPORT2
+U_STABLE int32_t U_EXPORT2
ucfpos_getField(
const UConstrainedFieldPosition* ucfpos,
UErrorCode* ec);
@@ -262,9 +260,9 @@
* @param pStart Set to the start index saved in the instance. Ignored if nullptr.
* @param pLimit Set to the end index saved in the instance. Ignored if nullptr.
* @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
ucfpos_getIndexes(
const UConstrainedFieldPosition* ucfpos,
int32_t* pStart,
@@ -282,9 +280,9 @@
* @param ucfpos The instance of UConstrainedFieldPosition.
* @param ec Set if an error occurs.
* @return The current iteration context from ucfpos_setInt64IterationContext.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT int64_t U_EXPORT2
+U_STABLE int64_t U_EXPORT2
ucfpos_getInt64IterationContext(
const UConstrainedFieldPosition* ucfpos,
UErrorCode* ec);
@@ -298,9 +296,9 @@
* @param ucfpos The instance of UConstrainedFieldPosition.
* @param context The new iteration context.
* @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
ucfpos_setInt64IterationContext(
UConstrainedFieldPosition* ucfpos,
int64_t context,
@@ -317,9 +315,9 @@
* @param category The category to test.
* @param field The field to test.
* @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT UBool U_EXPORT2
+U_STABLE UBool U_EXPORT2
ucfpos_matchesField(
const UConstrainedFieldPosition* ucfpos,
int32_t category,
@@ -341,9 +339,9 @@
* @param start The new inclusive start index.
* @param limit The new exclusive end index.
* @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
ucfpos_setState(
UConstrainedFieldPosition* ucfpos,
int32_t category,
@@ -358,7 +356,7 @@
* An abstract formatted value: a string with associated field attributes.
* Many formatters format to types compatible with UFormattedValue.
*
- * @draft ICU 64
+ * @stable ICU 64
*/
typedef struct UFormattedValue UFormattedValue;
@@ -374,9 +372,9 @@
* @param pLength Output variable for the length of the string. Ignored if NULL.
* @param ec Set if an error occurs.
* @return A NUL-terminated char16 string owned by the UFormattedValue.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT const UChar* U_EXPORT2
+U_STABLE const UChar* U_EXPORT2
ufmtval_getString(
const UFormattedValue* ufmtval,
int32_t* pLength,
@@ -404,9 +402,9 @@
* and ucfpos_constrainField.
* @param ec Set if an error occurs.
* @return TRUE if another position was found; FALSE otherwise.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT UBool U_EXPORT2
+U_STABLE UBool U_EXPORT2
ufmtval_nextPosition(
const UFormattedValue* ufmtval,
UConstrainedFieldPosition* ucfpos,
@@ -426,7 +424,7 @@
* LocalUConstrainedFieldPositionPointer ucfpos(ucfpos_open(ec));
* // no need to explicitly call ucfpos_close()
*
- * @draft ICU 64
+ * @stable ICU 64
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalUConstrainedFieldPositionPointer,
UConstrainedFieldPosition,
@@ -436,6 +434,5 @@
#endif // U_SHOW_CPLUSPLUS_API
-#endif /* U_HIDE_DRAFT_API */
#endif /* #if !UCONFIG_NO_FORMATTING */
#endif // __UFORMATTEDVALUE_H__
diff --git a/libandroidicu/include/unicode/ulistformatter.h b/libandroidicu/include/unicode/ulistformatter.h
index 20a3c63..1431753 100644
--- a/libandroidicu/include/unicode/ulistformatter.h
+++ b/libandroidicu/include/unicode/ulistformatter.h
@@ -37,37 +37,92 @@
struct UListFormatter;
typedef struct UListFormatter UListFormatter; /**< C typedef for struct UListFormatter. @stable ICU 55 */
-#ifndef U_HIDE_DRAFT_API
struct UFormattedList;
/**
* Opaque struct to contain the results of a UListFormatter operation.
- * @draft ICU 64
+ * @stable ICU 64
*/
typedef struct UFormattedList UFormattedList;
-#endif /* U_HIDE_DRAFT_API */
-#ifndef U_HIDE_DRAFT_API
/**
* FieldPosition and UFieldPosition selectors for format fields
* defined by ListFormatter.
- * @draft ICU 63
+ * @stable ICU 63
*/
typedef enum UListFormatterField {
/**
* The literal text in the result which came from the resources.
- * @draft ICU 63
+ * @stable ICU 63
*/
ULISTFMT_LITERAL_FIELD,
/**
* The element text in the result which came from the input strings.
- * @draft ICU 63
+ * @stable ICU 63
*/
ULISTFMT_ELEMENT_FIELD
} UListFormatterField;
+
+#ifndef U_HIDE_DRAFT_API
+/**
+ * Type of meaning expressed by the list.
+ *
+ * @draft ICU 67
+ */
+typedef enum UListFormatterType {
+ /**
+ * Conjunction formatting, e.g. "Alice, Bob, Charlie, and Delta".
+ *
+ * @draft ICU 67
+ */
+ ULISTFMT_TYPE_AND,
+
+ /**
+ * Disjunction (or alternative, or simply one of) formatting, e.g.
+ * "Alice, Bob, Charlie, or Delta".
+ *
+ * @draft ICU 67
+ */
+ ULISTFMT_TYPE_OR,
+
+ /**
+ * Formatting of a list of values with units, e.g. "5 pounds, 12 ounces".
+ *
+ * @draft ICU 67
+ */
+ ULISTFMT_TYPE_UNITS
+} UListFormatterType;
+
+/**
+ * Verbosity level of the list patterns.
+ *
+ * @draft ICU 67
+ */
+typedef enum UListFormatterWidth {
+ /**
+ * Use list formatting with full words (no abbreviations) when possible.
+ *
+ * @draft ICU 67
+ */
+ ULISTFMT_WIDTH_WIDE,
+
+ /**
+ * Use list formatting of typical length.
+ * @draft ICU 67
+ */
+ ULISTFMT_WIDTH_SHORT,
+
+ /**
+ * Use list formatting of the shortest possible length.
+ * @draft ICU 67
+ */
+ ULISTFMT_WIDTH_NARROW,
+} UListFormatterWidth;
#endif /* U_HIDE_DRAFT_API */
/**
* Open a new UListFormatter object using the rules for a given locale.
+ * The object will be initialized with AND type and WIDE width.
+ *
* @param locale
* The locale whose rules should be used; may be NULL for
* default locale.
@@ -86,6 +141,34 @@
ulistfmt_open(const char* locale,
UErrorCode* status);
+#ifndef U_HIDE_DRAFT_API
+/**
+ * Open a new UListFormatter object appropriate for the given locale, list type,
+ * and style.
+ *
+ * @param locale
+ * The locale whose rules should be used; may be NULL for
+ * default locale.
+ * @param type
+ * The type of list formatting to use.
+ * @param width
+ * The width of formatting to use.
+ * @param status
+ * A pointer to a standard ICU UErrorCode (input/output parameter).
+ * Its input value must pass the U_SUCCESS() test, or else the
+ * function returns immediately. The caller should check its output
+ * value with U_FAILURE(), or use with function chaining (see User
+ * Guide for details).
+ * @return
+ * A pointer to a UListFormatter object for the specified locale,
+ * or NULL if an error occurred.
+ * @draft ICU 67
+ */
+U_DRAFT UListFormatter* U_EXPORT2
+ulistfmt_openForType(const char* locale, UListFormatterType type,
+ UListFormatterWidth width, UErrorCode* status);
+#endif /* U_HIDE_DRAFT_API */
+
/**
* Close a UListFormatter object. Once closed it may no longer be used.
* @param listfmt
@@ -95,7 +178,6 @@
U_CAPI void U_EXPORT2
ulistfmt_close(UListFormatter *listfmt);
-#ifndef U_HIDE_DRAFT_API
/**
* Creates an object to hold the result of a UListFormatter
* operation. The object can be used repeatedly; it is cleared whenever
@@ -103,7 +185,7 @@
*
* @param ec Set if an error occurs.
* @return A pointer needing ownership.
- * @draft ICU 64
+ * @stable ICU 64
*/
U_CAPI UFormattedList* U_EXPORT2
ulistfmt_openResult(UErrorCode* ec);
@@ -127,7 +209,7 @@
* @param uresult The object containing the formatted string.
* @param ec Set if an error occurs.
* @return A UFormattedValue owned by the input object.
- * @draft ICU 64
+ * @stable ICU 64
*/
U_CAPI const UFormattedValue* U_EXPORT2
ulistfmt_resultAsValue(const UFormattedList* uresult, UErrorCode* ec);
@@ -136,11 +218,10 @@
* Releases the UFormattedList created by ulistfmt_openResult().
*
* @param uresult The object to release.
- * @draft ICU 64
+ * @stable ICU 64
*/
U_CAPI void U_EXPORT2
ulistfmt_closeResult(UFormattedList* uresult);
-#endif /* U_HIDE_DRAFT_API */
#if U_SHOW_CPLUSPLUS_API
@@ -158,7 +239,6 @@
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalUListFormatterPointer, UListFormatter, ulistfmt_close);
-#ifndef U_HIDE_DRAFT_API
/**
* \class LocalUFormattedListPointer
* "Smart pointer" class, closes a UFormattedList via ulistfmt_closeResult().
@@ -166,10 +246,9 @@
*
* @see LocalPointerBase
* @see LocalPointer
- * @draft ICU 64
+ * @stable ICU 64
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattedListPointer, UFormattedList, ulistfmt_closeResult);
-#endif /* U_HIDE_DRAFT_API */
U_NAMESPACE_END
@@ -218,7 +297,6 @@
int32_t resultCapacity,
UErrorCode* status);
-#ifndef U_HIDE_DRAFT_API
/**
* Formats a list of strings to a UFormattedList, which exposes more
* information than the string exported by ulistfmt_format().
@@ -243,7 +321,7 @@
* operation. See ulistfmt_openResult().
* @param status
* Error code set if an error occurred during formatting.
- * @draft ICU 64
+ * @stable ICU 64
*/
U_CAPI void U_EXPORT2
ulistfmt_formatStringsToResult(
@@ -253,7 +331,6 @@
int32_t stringCount,
UFormattedList* uresult,
UErrorCode* status);
-#endif /* U_HIDE_DRAFT_API */
#endif /* #if !UCONFIG_NO_FORMATTING */
diff --git a/libandroidicu/include/unicode/uloc.h b/libandroidicu/include/unicode/uloc.h
index c45edad..d877ce4 100644
--- a/libandroidicu/include/unicode/uloc.h
+++ b/libandroidicu/include/unicode/uloc.h
@@ -1034,29 +1034,45 @@
UErrorCode *status);
/**
- * enums for the 'outResult' parameter return value
+ * Output values which uloc_acceptLanguage() writes to the 'outResult' parameter.
+ *
* @see uloc_acceptLanguageFromHTTP
* @see uloc_acceptLanguage
* @stable ICU 3.2
*/
typedef enum {
- ULOC_ACCEPT_FAILED = 0, /* No exact match was found. */
- ULOC_ACCEPT_VALID = 1, /* An exact match was found. */
- ULOC_ACCEPT_FALLBACK = 2 /* A fallback was found, for example,
- Accept list contained 'ja_JP'
- which matched available locale 'ja'. */
+ /**
+ * No exact match was found.
+ * @stable ICU 3.2
+ */
+ ULOC_ACCEPT_FAILED = 0,
+ /**
+ * An exact match was found.
+ * @stable ICU 3.2
+ */
+ ULOC_ACCEPT_VALID = 1,
+ /**
+ * A fallback was found. For example, the Accept-Language list includes 'ja_JP'
+ * and is matched with available locale 'ja'.
+ * @stable ICU 3.2
+ */
+ ULOC_ACCEPT_FALLBACK = 2 /* */
} UAcceptResult;
-
/**
* Based on a HTTP header from a web browser and a list of available locales,
* determine an acceptable locale for the user.
+ *
+ * This is a thin wrapper over C++ class LocaleMatcher.
+ *
* @param result - buffer to accept the result locale
* @param resultAvailable the size of the result buffer.
* @param outResult - An out parameter that contains the fallback status
* @param httpAcceptLanguage - "Accept-Language:" header as per HTTP.
* @param availableLocales - list of available locales to match
- * @param status Error status, may be BUFFER_OVERFLOW_ERROR
+ * @param status ICU error code. Its input value must pass the U_SUCCESS() test,
+ * or else the function returns immediately. Check for U_FAILURE()
+ * on output or use with function chaining. (See User Guide for details.)
* @return length needed for the locale.
* @stable ICU 3.2
*/
@@ -1070,13 +1086,18 @@
/**
* Based on a list of available locales,
* determine an acceptable locale for the user.
+ *
+ * This is a thin wrapper over C++ class LocaleMatcher.
+ *
* @param result - buffer to accept the result locale
* @param resultAvailable the size of the result buffer.
* @param outResult - An out parameter that contains the fallback status
* @param acceptList - list of acceptable languages
* @param acceptListCount - count of acceptList items
* @param availableLocales - list of available locales to match
- * @param status Error status, may be BUFFER_OVERFLOW_ERROR
+ * @param status ICU error code. Its input value must pass the U_SUCCESS() test,
+ * or else the function returns immediately. Check for U_FAILURE()
+ * on output or use with function chaining. (See User Guide for details.)
* @return length needed for the locale.
* @stable ICU 3.2
*/
diff --git a/libandroidicu/include/unicode/umachine.h b/libandroidicu/include/unicode/umachine.h
index c52984c..1d85855 100644
--- a/libandroidicu/include/unicode/umachine.h
+++ b/libandroidicu/include/unicode/umachine.h
@@ -372,7 +372,7 @@
typedef char16_t UChar;
#elif defined(UCHAR_TYPE)
typedef UCHAR_TYPE UChar;
-#elif defined(__cplusplus)
+#elif (U_CPLUSPLUS_VERSION >= 11)
typedef char16_t UChar;
#else
typedef uint16_t UChar;
diff --git a/libandroidicu/include/unicode/umutablecptrie.h b/libandroidicu/include/unicode/umutablecptrie.h
index f123644..5325d58 100644
--- a/libandroidicu/include/unicode/umutablecptrie.h
+++ b/libandroidicu/include/unicode/umutablecptrie.h
@@ -86,25 +86,6 @@
U_CAPI void U_EXPORT2
umutablecptrie_close(UMutableCPTrie *trie);
-#if U_SHOW_CPLUSPLUS_API
-
-U_NAMESPACE_BEGIN
-
-/**
- * \class LocalUMutableCPTriePointer
- * "Smart pointer" class, closes a UMutableCPTrie via umutablecptrie_close().
- * For most methods see the LocalPointerBase base class.
- *
- * @see LocalPointerBase
- * @see LocalPointer
- * @stable ICU 63
- */
-U_DEFINE_LOCAL_OPEN_POINTER(LocalUMutableCPTriePointer, UMutableCPTrie, umutablecptrie_close);
-
-U_NAMESPACE_END
-
-#endif
-
/**
* Creates a mutable trie with the same contents as the UCPMap.
* You must umutablecptrie_close() the mutable trie once you are done using it.
@@ -238,4 +219,23 @@
U_CDECL_END
+#if U_SHOW_CPLUSPLUS_API
+
+U_NAMESPACE_BEGIN
+
+/**
+ * \class LocalUMutableCPTriePointer
+ * "Smart pointer" class, closes a UMutableCPTrie via umutablecptrie_close().
+ * For most methods see the LocalPointerBase base class.
+ *
+ * @see LocalPointerBase
+ * @see LocalPointer
+ * @stable ICU 63
+ */
+U_DEFINE_LOCAL_OPEN_POINTER(LocalUMutableCPTriePointer, UMutableCPTrie, umutablecptrie_close);
+
+U_NAMESPACE_END
+
+#endif
+
#endif
diff --git a/libandroidicu/include/unicode/unum.h b/libandroidicu/include/unicode/unum.h
index 5cece02..b03e846 100644
--- a/libandroidicu/include/unicode/unum.h
+++ b/libandroidicu/include/unicode/unum.h
@@ -380,12 +380,10 @@
UNUM_PERMILL_FIELD,
/** @stable ICU 49 */
UNUM_SIGN_FIELD,
-#ifndef U_HIDE_DRAFT_API
- /** @draft ICU 64 */
+ /** @stable ICU 64 */
UNUM_MEASURE_UNIT_FIELD,
- /** @draft ICU 64 */
+ /** @stable ICU 64 */
UNUM_COMPACT_FIELD,
-#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_DEPRECATED_API
/**
@@ -1035,17 +1033,15 @@
* @stable ICU 51 */
UNUM_SCALE = 21,
-#ifndef U_HIDE_DRAFT_API
/**
* Minimum grouping digits; most commonly set to 2 to print "1000" instead of "1,000".
* See DecimalFormat::getMinimumGroupingDigits().
*
* For better control over grouping strategies, use UNumberFormatter.
*
- * @draft ICU 64
+ * @stable ICU 64
*/
UNUM_MINIMUM_GROUPING_DIGITS = 22,
-#endif /* U_HIDE_DRAFT_API */
/**
* if this attribute is set to 0, it is set to UNUM_CURRENCY_STANDARD purpose,
@@ -1086,12 +1082,10 @@
*/
UNUM_PARSE_DECIMAL_MARK_REQUIRED = 0x1002,
-#ifndef U_HIDE_DRAFT_API
-
/**
* Parsing: if set to 1, parsing is sensitive to case (lowercase/uppercase).
*
- * @draft ICU 64
+ * @stable ICU 64
*/
UNUM_PARSE_CASE_SENSITIVE = 0x1003,
@@ -1100,12 +1094,10 @@
*
* For better control over sign display, use UNumberFormatter.
*
- * @draft ICU 64
+ * @stable ICU 64
*/
UNUM_SIGN_ALWAYS_SHOWN = 0x1004,
-#endif /* U_HIDE_DRAFT_API */
-
#ifndef U_HIDE_INTERNAL_API
/** Limit of boolean attributes. (value should
* not depend on U_HIDE conditionals)
diff --git a/libandroidicu/include/unicode/unumberformatter.h b/libandroidicu/include/unicode/unumberformatter.h
index b27507f..af98ba0 100644
--- a/libandroidicu/include/unicode/unumberformatter.h
+++ b/libandroidicu/include/unicode/unumberformatter.h
@@ -336,7 +336,7 @@
/**
* Show the minus sign on negative numbers and the plus sign on positive numbers. Do not show a
- * sign on zero or NaN, unless the sign bit is set (-0.0 gets a sign).
+ * sign on zero, numbers that round to zero, or NaN.
*
* @stable ICU 61
*/
@@ -344,9 +344,8 @@
/**
* Use the locale-dependent accounting format on negative numbers, and show the plus sign on
- * positive numbers. Do not show a sign on zero or NaN, unless the sign bit is set (-0.0 gets a
- * sign). For more information on the accounting format, see the ACCOUNTING sign display
- * strategy.
+ * positive numbers. Do not show a sign on zero, numbers that round to zero, or NaN. For more
+ * information on the accounting format, see the ACCOUNTING sign display strategy.
*
* @stable ICU 61
*/
@@ -428,7 +427,7 @@
* NOTE: This is a C-compatible API; C++ users should build against numberformatter.h instead.
*
* @param skeleton The skeleton string, like u"percent precision-integer"
- * @param skeletonLen The number of UChars in the skeleton string, or -1 it it is NUL-terminated.
+ * @param skeletonLen The number of UChars in the skeleton string, or -1 if it is NUL-terminated.
* @param locale The NUL-terminated locale ID.
* @param ec Set if an error occurs.
* @stable ICU 62
@@ -438,23 +437,21 @@
UErrorCode* ec);
-#ifndef U_HIDE_DRAFT_API
/**
* Like unumf_openForSkeletonAndLocale, but accepts a UParseError, which will be populated with the
* location of a skeleton syntax error if such a syntax error exists.
*
* @param skeleton The skeleton string, like u"percent precision-integer"
- * @param skeletonLen The number of UChars in the skeleton string, or -1 it it is NUL-terminated.
+ * @param skeletonLen The number of UChars in the skeleton string, or -1 if it is NUL-terminated.
* @param locale The NUL-terminated locale ID.
* @param perror A parse error struct populated if an error occurs when parsing. Can be NULL.
* If no error occurs, perror->offset will be set to -1.
* @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT UNumberFormatter* U_EXPORT2
+U_STABLE UNumberFormatter* U_EXPORT2
unumf_openForSkeletonAndLocaleWithError(
const UChar* skeleton, int32_t skeletonLen, const char* locale, UParseError* perror, UErrorCode* ec);
-#endif // U_HIDE_DRAFT_API
/**
@@ -532,7 +529,6 @@
unumf_formatDecimal(const UNumberFormatter* uformatter, const char* value, int32_t valueLen,
UFormattedNumber* uresult, UErrorCode* ec);
-#ifndef U_HIDE_DRAFT_API
/**
* Returns a representation of a UFormattedNumber as a UFormattedValue,
* which can be subsequently passed to any API requiring that type.
@@ -545,11 +541,10 @@
* @param uresult The object containing the formatted string.
* @param ec Set if an error occurs.
* @return A UFormattedValue owned by the input object.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT const UFormattedValue* U_EXPORT2
+U_STABLE const UFormattedValue* U_EXPORT2
unumf_resultAsValue(const UFormattedNumber* uresult, UErrorCode* ec);
-#endif /* U_HIDE_DRAFT_API */
/**
diff --git a/libandroidicu/include/unicode/upluralrules.h b/libandroidicu/include/unicode/upluralrules.h
index 48b7eb8..ec8cc81 100644
--- a/libandroidicu/include/unicode/upluralrules.h
+++ b/libandroidicu/include/unicode/upluralrules.h
@@ -156,7 +156,6 @@
UChar *keyword, int32_t capacity,
UErrorCode *status);
-#ifndef U_HIDE_DRAFT_API
/**
* Given a formatted number, returns the keyword of the first rule
* that applies to the number, according to the supplied UPluralRules object.
@@ -172,14 +171,13 @@
* @param capacity The capacity of the keyword buffer.
* @param status A pointer to a UErrorCode to receive any errors.
* @return The length of the keyword.
- * @draft ICU 64
+ * @stable ICU 64
*/
U_CAPI int32_t U_EXPORT2
uplrules_selectFormatted(const UPluralRules *uplrules,
const struct UFormattedNumber* number,
UChar *keyword, int32_t capacity,
UErrorCode *status);
-#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_INTERNAL_API
/**
diff --git a/libandroidicu/include/unicode/ureldatefmt.h b/libandroidicu/include/unicode/ureldatefmt.h
index 775b4ca..3afc24b 100644
--- a/libandroidicu/include/unicode/ureldatefmt.h
+++ b/libandroidicu/include/unicode/ureldatefmt.h
@@ -178,25 +178,23 @@
#endif /* U_HIDE_DEPRECATED_API */
} URelativeDateTimeUnit;
-#ifndef U_HIDE_DRAFT_API
/**
* FieldPosition and UFieldPosition selectors for format fields
* defined by RelativeDateTimeFormatter.
- * @draft ICU 64
+ * @stable ICU 64
*/
typedef enum URelativeDateTimeFormatterField {
/**
* Represents a literal text string, like "tomorrow" or "days ago".
- * @draft ICU 64
+ * @stable ICU 64
*/
UDAT_REL_LITERAL_FIELD,
/**
* Represents a number quantity, like "3" in "3 days ago".
- * @draft ICU 64
+ * @stable ICU 64
*/
UDAT_REL_NUMERIC_FIELD,
} URelativeDateTimeFormatterField;
-#endif // U_HIDE_DRAFT_API
/**
@@ -255,11 +253,10 @@
U_STABLE void U_EXPORT2
ureldatefmt_close(URelativeDateTimeFormatter *reldatefmt);
-#ifndef U_HIDE_DRAFT_API
struct UFormattedRelativeDateTime;
/**
* Opaque struct to contain the results of a URelativeDateTimeFormatter operation.
- * @draft ICU 64
+ * @stable ICU 64
*/
typedef struct UFormattedRelativeDateTime UFormattedRelativeDateTime;
@@ -270,9 +267,9 @@
*
* @param ec Set if an error occurs.
* @return A pointer needing ownership.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT UFormattedRelativeDateTime* U_EXPORT2
+U_STABLE UFormattedRelativeDateTime* U_EXPORT2
ureldatefmt_openResult(UErrorCode* ec);
/**
@@ -287,20 +284,19 @@
* @param ufrdt The object containing the formatted string.
* @param ec Set if an error occurs.
* @return A UFormattedValue owned by the input object.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT const UFormattedValue* U_EXPORT2
+U_STABLE const UFormattedValue* U_EXPORT2
ureldatefmt_resultAsValue(const UFormattedRelativeDateTime* ufrdt, UErrorCode* ec);
/**
* Releases the UFormattedRelativeDateTime created by ureldatefmt_openResult.
*
* @param ufrdt The object to release.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
ureldatefmt_closeResult(UFormattedRelativeDateTime* ufrdt);
-#endif /* U_HIDE_DRAFT_API */
#if U_SHOW_CPLUSPLUS_API
@@ -318,7 +314,6 @@
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalURelativeDateTimeFormatterPointer, URelativeDateTimeFormatter, ureldatefmt_close);
-#ifndef U_HIDE_DRAFT_API
/**
* \class LocalUFormattedRelativeDateTimePointer
* "Smart pointer" class, closes a UFormattedRelativeDateTime via ureldatefmt_closeResult().
@@ -326,10 +321,9 @@
*
* @see LocalPointerBase
* @see LocalPointer
- * @draft ICU 64
+ * @stable ICU 64
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattedRelativeDateTimePointer, UFormattedRelativeDateTime, ureldatefmt_closeResult);
-#endif /* U_HIDE_DRAFT_API */
U_NAMESPACE_END
@@ -371,7 +365,6 @@
int32_t resultCapacity,
UErrorCode* status);
-#ifndef U_HIDE_DRAFT_API
/**
* Format a combination of URelativeDateTimeUnit and numeric
* offset using a numeric style, e.g. "1 week ago", "in 1 week",
@@ -393,16 +386,15 @@
* A pointer to a UErrorCode to receive any errors. In
* case of error status, the contents of result are
* undefined.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
ureldatefmt_formatNumericToResult(
const URelativeDateTimeFormatter* reldatefmt,
double offset,
URelativeDateTimeUnit unit,
UFormattedRelativeDateTime* result,
UErrorCode* status);
-#endif /* U_HIDE_DRAFT_API */
/**
* Format a combination of URelativeDateTimeUnit and numeric offset
@@ -440,7 +432,6 @@
int32_t resultCapacity,
UErrorCode* status);
-#ifndef U_HIDE_DRAFT_API
/**
* Format a combination of URelativeDateTimeUnit and numeric offset
* using a text style if possible, e.g. "last week", "this week",
@@ -465,16 +456,15 @@
* A pointer to a UErrorCode to receive any errors. In
* case of error status, the contents of result are
* undefined.
- * @draft ICU 64
+ * @stable ICU 64
*/
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
ureldatefmt_formatToResult(
const URelativeDateTimeFormatter* reldatefmt,
double offset,
URelativeDateTimeUnit unit,
UFormattedRelativeDateTime* result,
UErrorCode* status);
-#endif /* U_HIDE_DRAFT_API */
/**
* Combines a relative date string and a time string in this object's
diff --git a/libandroidicu/include/unicode/urename.h b/libandroidicu/include/unicode/urename.h
index 5b793bb..30f4b7a 100644
--- a/libandroidicu/include/unicode/urename.h
+++ b/libandroidicu/include/unicode/urename.h
@@ -135,6 +135,7 @@
#define locale_get_default U_ICU_ENTRY_POINT_RENAME(locale_get_default)
#define locale_set_default U_ICU_ENTRY_POINT_RENAME(locale_set_default)
#define numSysCleanup U_ICU_ENTRY_POINT_RENAME(numSysCleanup)
+#define rbbi_cleanup U_ICU_ENTRY_POINT_RENAME(rbbi_cleanup)
#define pl_addFontRun U_ICU_ENTRY_POINT_RENAME(pl_addFontRun)
#define pl_addLocaleRun U_ICU_ENTRY_POINT_RENAME(pl_addLocaleRun)
#define pl_addValueRun U_ICU_ENTRY_POINT_RENAME(pl_addValueRun)
@@ -203,6 +204,7 @@
#define res_read U_ICU_ENTRY_POINT_RENAME(res_read)
#define res_unload U_ICU_ENTRY_POINT_RENAME(res_unload)
#define u_UCharsToChars U_ICU_ENTRY_POINT_RENAME(u_UCharsToChars)
+#define u_asciiToUpper U_ICU_ENTRY_POINT_RENAME(u_asciiToUpper)
#define u_austrcpy U_ICU_ENTRY_POINT_RENAME(u_austrcpy)
#define u_austrncpy U_ICU_ENTRY_POINT_RENAME(u_austrncpy)
#define u_caseInsensitivePrefixMatch U_ICU_ENTRY_POINT_RENAME(u_caseInsensitivePrefixMatch)
@@ -896,6 +898,7 @@
#define udatpg_getBestPatternWithOptions U_ICU_ENTRY_POINT_RENAME(udatpg_getBestPatternWithOptions)
#define udatpg_getDateTimeFormat U_ICU_ENTRY_POINT_RENAME(udatpg_getDateTimeFormat)
#define udatpg_getDecimal U_ICU_ENTRY_POINT_RENAME(udatpg_getDecimal)
+#define udatpg_getDefaultHourCycle U_ICU_ENTRY_POINT_RENAME(udatpg_getDefaultHourCycle)
#define udatpg_getFieldDisplayName U_ICU_ENTRY_POINT_RENAME(udatpg_getFieldDisplayName)
#define udatpg_getPatternForSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getPatternForSkeleton)
#define udatpg_getSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getSkeleton)
@@ -913,6 +916,7 @@
#define udtitvfmt_close U_ICU_ENTRY_POINT_RENAME(udtitvfmt_close)
#define udtitvfmt_closeResult U_ICU_ENTRY_POINT_RENAME(udtitvfmt_closeResult)
#define udtitvfmt_format U_ICU_ENTRY_POINT_RENAME(udtitvfmt_format)
+#define udtitvfmt_formatCalendarToResult U_ICU_ENTRY_POINT_RENAME(udtitvfmt_formatCalendarToResult)
#define udtitvfmt_formatToResult U_ICU_ENTRY_POINT_RENAME(udtitvfmt_formatToResult)
#define udtitvfmt_open U_ICU_ENTRY_POINT_RENAME(udtitvfmt_open)
#define udtitvfmt_openResult U_ICU_ENTRY_POINT_RENAME(udtitvfmt_openResult)
@@ -1053,6 +1057,7 @@
#define ulistfmt_format U_ICU_ENTRY_POINT_RENAME(ulistfmt_format)
#define ulistfmt_formatStringsToResult U_ICU_ENTRY_POINT_RENAME(ulistfmt_formatStringsToResult)
#define ulistfmt_open U_ICU_ENTRY_POINT_RENAME(ulistfmt_open)
+#define ulistfmt_openForType U_ICU_ENTRY_POINT_RENAME(ulistfmt_openForType)
#define ulistfmt_openResult U_ICU_ENTRY_POINT_RENAME(ulistfmt_openResult)
#define ulistfmt_resultAsValue U_ICU_ENTRY_POINT_RENAME(ulistfmt_resultAsValue)
#define uloc_acceptLanguage U_ICU_ENTRY_POINT_RENAME(uloc_acceptLanguage)
@@ -1114,9 +1119,12 @@
#define ulocdata_open U_ICU_ENTRY_POINT_RENAME(ulocdata_open)
#define ulocdata_setNoSubstitute U_ICU_ENTRY_POINT_RENAME(ulocdata_setNoSubstitute)
#define ulocimp_addLikelySubtags U_ICU_ENTRY_POINT_RENAME(ulocimp_addLikelySubtags)
+#define ulocimp_canonicalize U_ICU_ENTRY_POINT_RENAME(ulocimp_canonicalize)
#define ulocimp_forLanguageTag U_ICU_ENTRY_POINT_RENAME(ulocimp_forLanguageTag)
+#define ulocimp_getBaseName U_ICU_ENTRY_POINT_RENAME(ulocimp_getBaseName)
#define ulocimp_getCountry U_ICU_ENTRY_POINT_RENAME(ulocimp_getCountry)
#define ulocimp_getLanguage U_ICU_ENTRY_POINT_RENAME(ulocimp_getLanguage)
+#define ulocimp_getName U_ICU_ENTRY_POINT_RENAME(ulocimp_getName)
#define ulocimp_getRegionForSupplementalData U_ICU_ENTRY_POINT_RENAME(ulocimp_getRegionForSupplementalData)
#define ulocimp_getScript U_ICU_ENTRY_POINT_RENAME(ulocimp_getScript)
#define ulocimp_minimizeSubtags U_ICU_ENTRY_POINT_RENAME(ulocimp_minimizeSubtags)
@@ -1295,7 +1303,6 @@
#define uprv_convertToPosix U_ICU_ENTRY_POINT_RENAME(uprv_convertToPosix)
#define uprv_copyAscii U_ICU_ENTRY_POINT_RENAME(uprv_copyAscii)
#define uprv_copyEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_copyEbcdic)
-#define uprv_currencyLeads U_ICU_ENTRY_POINT_RENAME(uprv_currencyLeads)
#define uprv_decContextClearStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextClearStatus)
#define uprv_decContextDefault U_ICU_ENTRY_POINT_RENAME(uprv_decContextDefault)
#define uprv_decContextGetRounding U_ICU_ENTRY_POINT_RENAME(uprv_decContextGetRounding)
diff --git a/libandroidicu/include/unicode/utext.h b/libandroidicu/include/unicode/utext.h
index 196056b..37d71a3 100644
--- a/libandroidicu/include/unicode/utext.h
+++ b/libandroidicu/include/unicode/utext.h
@@ -183,25 +183,6 @@
U_STABLE UText * U_EXPORT2
utext_close(UText *ut);
-#if U_SHOW_CPLUSPLUS_API
-
-U_NAMESPACE_BEGIN
-
-/**
- * \class LocalUTextPointer
- * "Smart pointer" class, closes a UText via utext_close().
- * For most methods see the LocalPointerBase base class.
- *
- * @see LocalPointerBase
- * @see LocalPointer
- * @stable ICU 4.4
- */
-U_DEFINE_LOCAL_OPEN_POINTER(LocalUTextPointer, UText, utext_close);
-
-U_NAMESPACE_END
-
-#endif
-
/**
* Open a read-only UText implementation for UTF-8 strings.
*
@@ -1599,5 +1580,24 @@
U_CDECL_END
+#if U_SHOW_CPLUSPLUS_API
+
+U_NAMESPACE_BEGIN
+
+/**
+ * \class LocalUTextPointer
+ * "Smart pointer" class, closes a UText via utext_close().
+ * For most methods see the LocalPointerBase base class.
+ *
+ * @see LocalPointerBase
+ * @see LocalPointer
+ * @stable ICU 4.4
+ */
+U_DEFINE_LOCAL_OPEN_POINTER(LocalUTextPointer, UText, utext_close);
+
+U_NAMESPACE_END
+
+#endif
+
#endif
diff --git a/libandroidicu/include/unicode/utrace.h b/libandroidicu/include/unicode/utrace.h
index 5afcd9f..5b4a049 100644
--- a/libandroidicu/include/unicode/utrace.h
+++ b/libandroidicu/include/unicode/utrace.h
@@ -177,6 +177,71 @@
UTRACE_RES_DATA_LIMIT,
#endif // U_HIDE_INTERNAL_API
+#ifndef U_HIDE_DRAFT_API
+ /**
+ * The lowest break iterator location.
+ * @draft ICU 67
+ */
+ UTRACE_UBRK_START=0x4000,
+
+ /**
+ * Indicates that a character instance of break iterator was created.
+ *
+ * @draft ICU 67
+ */
+ UTRACE_UBRK_CREATE_CHARACTER = UTRACE_UBRK_START,
+
+ /**
+ * Indicates that a word instance of break iterator was created.
+ *
+ * @draft ICU 67
+ */
+ UTRACE_UBRK_CREATE_WORD,
+
+ /**
+ * Indicates that a line instance of break iterator was created.
+ *
+ * Provides one C-style string to UTraceData: the lb value ("",
+ * "loose", "strict", or "normal").
+ *
+ * @draft ICU 67
+ */
+ UTRACE_UBRK_CREATE_LINE,
+
+ /**
+ * Indicates that a sentence instance of break iterator was created.
+ *
+ * @draft ICU 67
+ */
+ UTRACE_UBRK_CREATE_SENTENCE,
+
+ /**
+ * Indicates that a title instance of break iterator was created.
+ *
+ * @draft ICU 67
+ */
+ UTRACE_UBRK_CREATE_TITLE,
+
+ /**
+ * Indicates that an internal dictionary break engine was created.
+ *
+ * Provides one C-style string to UTraceData: the script code of what
+ * the break engine cover ("Hani", "Khmr", "Laoo", "Mymr", or "Thai").
+ *
+ * @draft ICU 67
+ */
+ UTRACE_UBRK_CREATE_BREAK_ENGINE,
+
+#endif // U_HIDE_DRAFT_API
+
+#ifndef U_HIDE_INTERNAL_API
+ /**
+ * One more than the highest normal break iterator trace location.
+ * @internal The numeric value may change over time, see ICU ticket #12420.
+ */
+ UTRACE_UBRK_LIMIT,
+#endif // U_HIDE_INTERNAL_API
+
} UTraceFunctionNumber;
/**
diff --git a/libandroidicu/include/unicode/uvernum.h b/libandroidicu/include/unicode/uvernum.h
index f5d6497..c66776d 100644
--- a/libandroidicu/include/unicode/uvernum.h
+++ b/libandroidicu/include/unicode/uvernum.h
@@ -60,7 +60,7 @@
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
-#define U_ICU_VERSION_MAJOR_NUM 66
+#define U_ICU_VERSION_MAJOR_NUM 67
/** The current ICU minor version as an integer.
* This value will change in the subsequent releases of ICU
@@ -86,7 +86,7 @@
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
-#define U_ICU_VERSION_SUFFIX _66
+#define U_ICU_VERSION_SUFFIX _67
/**
* \def U_DEF2_ICU_ENTRY_POINT_RENAME
@@ -139,7 +139,7 @@
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
-#define U_ICU_VERSION "66.1"
+#define U_ICU_VERSION "67.1"
/**
* The current ICU library major version number as a string, for library name suffixes.
@@ -152,13 +152,13 @@
*
* @stable ICU 2.6
*/
-#define U_ICU_VERSION_SHORT "66"
+#define U_ICU_VERSION_SHORT "67"
#ifndef U_HIDE_INTERNAL_API
/** Data version in ICU4C.
* @internal ICU 4.4 Internal Use Only
**/
-#define U_ICU_DATA_VERSION "66.1"
+#define U_ICU_DATA_VERSION "67.1"
#endif /* U_HIDE_INTERNAL_API */
/*===========================================================================
diff --git a/libandroidicu/static_shim/shim.cpp b/libandroidicu/static_shim/shim.cpp
index 52a8aa8..3c5558a 100644
--- a/libandroidicu/static_shim/shim.cpp
+++ b/libandroidicu/static_shim/shim.cpp
@@ -30,6 +30,7 @@
#include <unicode/uenum.h>
#include <unicode/ufieldpositer.h>
#include <unicode/uformattable.h>
+#include <unicode/uformattedvalue.h>
#include <unicode/ugender.h>
#include <unicode/uidna.h>
#include <unicode/uiter.h>