| Index: source/i18n/unicode/reldatefmt.h
|
| diff --git a/source/i18n/unicode/reldatefmt.h b/source/i18n/unicode/reldatefmt.h
|
| index c3350c516c4e6fb79b12c2c5371110506e23d662..e91d20667e39af178bf2791e814e747a8cb6cf6a 100644
|
| --- a/source/i18n/unicode/reldatefmt.h
|
| +++ b/source/i18n/unicode/reldatefmt.h
|
| @@ -1,6 +1,8 @@
|
| +// Copyright (C) 2016 and later: Unicode, Inc. and others.
|
| +// License & terms of use: http://www.unicode.org/copyright.html
|
| /*
|
| *****************************************************************************
|
| -* Copyright (C) 2014-2015, International Business Machines Corporation and
|
| +* Copyright (C) 2014-2016, International Business Machines Corporation and
|
| * others.
|
| * All Rights Reserved.
|
| *****************************************************************************
|
| @@ -15,6 +17,7 @@
|
| #include "unicode/utypes.h"
|
| #include "unicode/uobject.h"
|
| #include "unicode/udisplaycontext.h"
|
| +#include "unicode/ureldatefmt.h"
|
| #include "unicode/locid.h"
|
|
|
| /**
|
| @@ -22,37 +25,7 @@
|
| * \brief C++ API: Formats relative dates such as "1 day ago" or "tomorrow"
|
| */
|
|
|
| -#if !UCONFIG_NO_FORMATTING && !UCONFIG_NO_BREAK_ITERATION
|
| -
|
| -/**
|
| - * The formatting style
|
| - * @stable ICU 54
|
| - */
|
| -typedef enum UDateRelativeDateTimeFormatterStyle {
|
| - /**
|
| - * Everything spelled out.
|
| - * @stable ICU 54
|
| - */
|
| - UDAT_STYLE_LONG,
|
| -
|
| - /**
|
| - * Abbreviations used when possible.
|
| - * @stable ICU 54
|
| - */
|
| - UDAT_STYLE_SHORT,
|
| -
|
| - /**
|
| - * Use the shortest possible form.
|
| - * @stable ICU 54
|
| - */
|
| - UDAT_STYLE_NARROW,
|
| -
|
| - /**
|
| - * The number of styles.
|
| - * @stable ICU 54
|
| - */
|
| - UDAT_STYLE_COUNT
|
| -} UDateRelativeDateTimeFormatterStyle;
|
| +#if !UCONFIG_NO_FORMATTING
|
|
|
| /**
|
| * Represents the unit for formatting a relative date. e.g "in 5 days"
|
| @@ -103,11 +76,13 @@ typedef enum UDateRelativeUnit {
|
| */
|
| UDAT_RELATIVE_YEARS,
|
|
|
| +#ifndef U_HIDE_DEPRECATED_API
|
| /**
|
| - * Count of items in this enum.
|
| - * @stable ICU 53
|
| + * One more than the highest normal UDateRelativeUnit value.
|
| + * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
|
| */
|
| UDAT_RELATIVE_UNIT_COUNT
|
| +#endif // U_HIDE_DEPRECATED_API
|
| } UDateRelativeUnit;
|
|
|
| /**
|
| @@ -190,11 +165,13 @@ typedef enum UDateAbsoluteUnit {
|
| */
|
| UDAT_ABSOLUTE_NOW,
|
|
|
| +#ifndef U_HIDE_DEPRECATED_API
|
| /**
|
| - * Count of items in this enum.
|
| - * @stable ICU 53
|
| + * One more than the highest normal UDateAbsoluteUnit value.
|
| + * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
|
| */
|
| UDAT_ABSOLUTE_UNIT_COUNT
|
| +#endif // U_HIDE_DEPRECATED_API
|
| } UDateAbsoluteUnit;
|
|
|
| /**
|
| @@ -240,13 +217,16 @@ typedef enum UDateDirection {
|
| */
|
| UDAT_DIRECTION_PLAIN,
|
|
|
| +#ifndef U_HIDE_DEPRECATED_API
|
| /**
|
| - * Count of items in this enum.
|
| - * @stable ICU 53
|
| + * One more than the highest normal UDateDirection value.
|
| + * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
|
| */
|
| UDAT_DIRECTION_COUNT
|
| +#endif // U_HIDE_DEPRECATED_API
|
| } UDateDirection;
|
|
|
| +#if !UCONFIG_NO_BREAK_ITERATION
|
|
|
| U_NAMESPACE_BEGIN
|
|
|
| @@ -434,6 +414,54 @@ public:
|
| UnicodeString& appendTo,
|
| UErrorCode& status) const;
|
|
|
| +#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",
|
| + * "5 weeks ago", "in 5 weeks".
|
| + *
|
| + * @param offset The signed offset for the specified unit. This
|
| + * will be formatted according to this object's
|
| + * NumberFormat object.
|
| + * @param unit The unit to use when formatting the relative
|
| + * date, e.g. UDAT_REL_UNIT_WEEK,
|
| + * UDAT_REL_UNIT_FRIDAY.
|
| + * @param appendTo The string to which the formatted result will be
|
| + * appended.
|
| + * @param status ICU error code returned here.
|
| + * @return appendTo
|
| + * @draft ICU 57
|
| + */
|
| + UnicodeString& formatNumeric(
|
| + double offset,
|
| + URelativeDateTimeUnit unit,
|
| + UnicodeString& appendTo,
|
| + UErrorCode& status) const;
|
| +
|
| + /**
|
| + * Format a combination of URelativeDateTimeUnit and numeric offset
|
| + * using a text style if possible, e.g. "last week", "this week",
|
| + * "next week", "yesterday", "tomorrow". Falls back to numeric
|
| + * style if no appropriate text term is available for the specified
|
| + * offset in the object's locale.
|
| + *
|
| + * @param offset The signed offset for the specified unit.
|
| + * @param unit The unit to use when formatting the relative
|
| + * date, e.g. UDAT_REL_UNIT_WEEK,
|
| + * UDAT_REL_UNIT_FRIDAY.
|
| + * @param appendTo The string to which the formatted result will be
|
| + * appended.
|
| + * @param status ICU error code returned here.
|
| + * @return appendTo
|
| + * @draft ICU 57
|
| + */
|
| + UnicodeString& format(
|
| + double offset,
|
| + URelativeDateTimeUnit unit,
|
| + UnicodeString& appendTo,
|
| + UErrorCode& status) const;
|
| +#endif /* U_HIDE_DRAFT_API */
|
| +
|
| /**
|
| * Combines a relative date string and a time string in this object's
|
| * locale. This is done with the same date-time separator used for the
|
| @@ -490,5 +518,6 @@ private:
|
|
|
| U_NAMESPACE_END
|
|
|
| -#endif /* !UCONFIG_NO_FORMATTING && !UCONFIG_NO_BREAK_ITERATION*/
|
| -#endif
|
| +#endif /* !UCONFIG_NO_BREAK_ITERATION */
|
| +#endif /* !UCONFIG_NO_FORMATTING */
|
| +#endif /* __RELDATEFMT_H */
|
|
|