diff options
author | neksard <neksard@yandex-team.ru> | 2022-02-10 16:45:33 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:33 +0300 |
commit | 1d9c550e7c38e051d7961f576013a482003a70d9 (patch) | |
tree | b2cc84ee7850122e7ccf51d0ea21e4fa7e7a5685 /contrib/libs/icu/include/unicode/reldatefmt.h | |
parent | 8f7cf138264e0caa318144bf8a2c950e0b0a8593 (diff) | |
download | ydb-1d9c550e7c38e051d7961f576013a482003a70d9.tar.gz |
Restoring authorship annotation for <neksard@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/icu/include/unicode/reldatefmt.h')
-rw-r--r-- | contrib/libs/icu/include/unicode/reldatefmt.h | 1028 |
1 files changed, 514 insertions, 514 deletions
diff --git a/contrib/libs/icu/include/unicode/reldatefmt.h b/contrib/libs/icu/include/unicode/reldatefmt.h index 1ef0d5bcb5..d5533bb379 100644 --- a/contrib/libs/icu/include/unicode/reldatefmt.h +++ b/contrib/libs/icu/include/unicode/reldatefmt.h @@ -1,174 +1,174 @@ // © 2016 and later: Unicode, Inc. and others. -// License & terms of use: http://www.unicode.org/copyright.html -/* -***************************************************************************** -* Copyright (C) 2014-2016, International Business Machines Corporation and -* others. -* All Rights Reserved. -***************************************************************************** -* -* File RELDATEFMT.H -***************************************************************************** -*/ - -#ifndef __RELDATEFMT_H -#define __RELDATEFMT_H - -#include "unicode/utypes.h" +// License & terms of use: http://www.unicode.org/copyright.html +/* +***************************************************************************** +* Copyright (C) 2014-2016, International Business Machines Corporation and +* others. +* All Rights Reserved. +***************************************************************************** +* +* File RELDATEFMT.H +***************************************************************************** +*/ + +#ifndef __RELDATEFMT_H +#define __RELDATEFMT_H + +#include "unicode/utypes.h" #if U_SHOW_CPLUSPLUS_API -#include "unicode/uobject.h" -#include "unicode/udisplaycontext.h" -#include "unicode/ureldatefmt.h" -#include "unicode/locid.h" +#include "unicode/uobject.h" +#include "unicode/udisplaycontext.h" +#include "unicode/ureldatefmt.h" +#include "unicode/locid.h" #include "unicode/formattedvalue.h" - -/** - * \file - * \brief C++ API: Formats relative dates such as "1 day ago" or "tomorrow" - */ - -#if !UCONFIG_NO_FORMATTING - -/** - * Represents the unit for formatting a relative date. e.g "in 5 days" - * or "in 3 months" - * @stable ICU 53 - */ -typedef enum UDateRelativeUnit { - - /** - * Seconds - * @stable ICU 53 - */ - UDAT_RELATIVE_SECONDS, - - /** - * Minutes - * @stable ICU 53 - */ - UDAT_RELATIVE_MINUTES, - - /** - * Hours - * @stable ICU 53 - */ - UDAT_RELATIVE_HOURS, - - /** - * Days - * @stable ICU 53 - */ - UDAT_RELATIVE_DAYS, - - /** - * Weeks - * @stable ICU 53 - */ - UDAT_RELATIVE_WEEKS, - - /** - * Months - * @stable ICU 53 - */ - UDAT_RELATIVE_MONTHS, - - /** - * Years - * @stable ICU 53 - */ - UDAT_RELATIVE_YEARS, - -#ifndef U_HIDE_DEPRECATED_API - /** - * 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; - -/** - * Represents an absolute unit. - * @stable ICU 53 - */ -typedef enum UDateAbsoluteUnit { - - // Days of week have to remain together and in order from Sunday to - // Saturday. - /** - * Sunday - * @stable ICU 53 - */ - UDAT_ABSOLUTE_SUNDAY, - - /** - * Monday - * @stable ICU 53 - */ - UDAT_ABSOLUTE_MONDAY, - - /** - * Tuesday - * @stable ICU 53 - */ - UDAT_ABSOLUTE_TUESDAY, - - /** - * Wednesday - * @stable ICU 53 - */ - UDAT_ABSOLUTE_WEDNESDAY, - - /** - * Thursday - * @stable ICU 53 - */ - UDAT_ABSOLUTE_THURSDAY, - - /** - * Friday - * @stable ICU 53 - */ - UDAT_ABSOLUTE_FRIDAY, - - /** - * Saturday - * @stable ICU 53 - */ - UDAT_ABSOLUTE_SATURDAY, - - /** - * Day - * @stable ICU 53 - */ - UDAT_ABSOLUTE_DAY, - - /** - * Week - * @stable ICU 53 - */ - UDAT_ABSOLUTE_WEEK, - - /** - * Month - * @stable ICU 53 - */ - UDAT_ABSOLUTE_MONTH, - - /** - * Year - * @stable ICU 53 - */ - UDAT_ABSOLUTE_YEAR, - - /** - * Now - * @stable ICU 53 - */ - UDAT_ABSOLUTE_NOW, - + +/** + * \file + * \brief C++ API: Formats relative dates such as "1 day ago" or "tomorrow" + */ + +#if !UCONFIG_NO_FORMATTING + +/** + * Represents the unit for formatting a relative date. e.g "in 5 days" + * or "in 3 months" + * @stable ICU 53 + */ +typedef enum UDateRelativeUnit { + + /** + * Seconds + * @stable ICU 53 + */ + UDAT_RELATIVE_SECONDS, + + /** + * Minutes + * @stable ICU 53 + */ + UDAT_RELATIVE_MINUTES, + + /** + * Hours + * @stable ICU 53 + */ + UDAT_RELATIVE_HOURS, + + /** + * Days + * @stable ICU 53 + */ + UDAT_RELATIVE_DAYS, + + /** + * Weeks + * @stable ICU 53 + */ + UDAT_RELATIVE_WEEKS, + + /** + * Months + * @stable ICU 53 + */ + UDAT_RELATIVE_MONTHS, + + /** + * Years + * @stable ICU 53 + */ + UDAT_RELATIVE_YEARS, + +#ifndef U_HIDE_DEPRECATED_API + /** + * 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; + +/** + * Represents an absolute unit. + * @stable ICU 53 + */ +typedef enum UDateAbsoluteUnit { + + // Days of week have to remain together and in order from Sunday to + // Saturday. + /** + * Sunday + * @stable ICU 53 + */ + UDAT_ABSOLUTE_SUNDAY, + + /** + * Monday + * @stable ICU 53 + */ + UDAT_ABSOLUTE_MONDAY, + + /** + * Tuesday + * @stable ICU 53 + */ + UDAT_ABSOLUTE_TUESDAY, + + /** + * Wednesday + * @stable ICU 53 + */ + UDAT_ABSOLUTE_WEDNESDAY, + + /** + * Thursday + * @stable ICU 53 + */ + UDAT_ABSOLUTE_THURSDAY, + + /** + * Friday + * @stable ICU 53 + */ + UDAT_ABSOLUTE_FRIDAY, + + /** + * Saturday + * @stable ICU 53 + */ + UDAT_ABSOLUTE_SATURDAY, + + /** + * Day + * @stable ICU 53 + */ + UDAT_ABSOLUTE_DAY, + + /** + * Week + * @stable ICU 53 + */ + UDAT_ABSOLUTE_WEEK, + + /** + * Month + * @stable ICU 53 + */ + UDAT_ABSOLUTE_MONTH, + + /** + * Year + * @stable ICU 53 + */ + UDAT_ABSOLUTE_YEAR, + + /** + * Now + * @stable ICU 53 + */ + UDAT_ABSOLUTE_NOW, + /** * Quarter * @stable ICU 63 @@ -189,82 +189,82 @@ typedef enum UDateAbsoluteUnit { UDAT_ABSOLUTE_MINUTE, #endif // U_HIDE_DRAFT_API -#ifndef U_HIDE_DEPRECATED_API - /** - * One more than the highest normal UDateAbsoluteUnit value. - * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. - */ +#ifndef U_HIDE_DEPRECATED_API + /** + * 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 = UDAT_ABSOLUTE_NOW + 4 -#endif // U_HIDE_DEPRECATED_API -} UDateAbsoluteUnit; - -/** - * Represents a direction for an absolute unit e.g "Next Tuesday" - * or "Last Tuesday" - * @stable ICU 53 - */ -typedef enum UDateDirection { - - /** - * Two before. Not fully supported in every locale. - * @stable ICU 53 - */ - UDAT_DIRECTION_LAST_2, - - /** - * Last - * @stable ICU 53 - */ - UDAT_DIRECTION_LAST, - - /** - * This - * @stable ICU 53 - */ - UDAT_DIRECTION_THIS, - - /** - * Next - * @stable ICU 53 - */ - UDAT_DIRECTION_NEXT, - - /** - * Two after. Not fully supported in every locale. - * @stable ICU 53 - */ - UDAT_DIRECTION_NEXT_2, - - /** - * Plain, which means the absence of a qualifier. - * @stable ICU 53 - */ - UDAT_DIRECTION_PLAIN, - -#ifndef U_HIDE_DEPRECATED_API - /** - * 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 - +#endif // U_HIDE_DEPRECATED_API +} UDateAbsoluteUnit; + +/** + * Represents a direction for an absolute unit e.g "Next Tuesday" + * or "Last Tuesday" + * @stable ICU 53 + */ +typedef enum UDateDirection { + + /** + * Two before. Not fully supported in every locale. + * @stable ICU 53 + */ + UDAT_DIRECTION_LAST_2, + + /** + * Last + * @stable ICU 53 + */ + UDAT_DIRECTION_LAST, + + /** + * This + * @stable ICU 53 + */ + UDAT_DIRECTION_THIS, + + /** + * Next + * @stable ICU 53 + */ + UDAT_DIRECTION_NEXT, + + /** + * Two after. Not fully supported in every locale. + * @stable ICU 53 + */ + UDAT_DIRECTION_NEXT_2, + + /** + * Plain, which means the absence of a qualifier. + * @stable ICU 53 + */ + UDAT_DIRECTION_PLAIN, + +#ifndef U_HIDE_DEPRECATED_API + /** + * 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 + class BreakIterator; -class RelativeDateTimeCacheData; -class SharedNumberFormat; -class SharedPluralRules; -class SharedBreakIterator; -class NumberFormat; -class UnicodeString; +class RelativeDateTimeCacheData; +class SharedNumberFormat; +class SharedPluralRules; +class SharedBreakIterator; +class NumberFormat; +class UnicodeString; class FormattedRelativeDateTime; class FormattedRelativeDateTimeData; - -/** + +/** * An immutable class containing the result of a relative datetime formatting operation. * * Instances of this class are immutable and thread-safe. @@ -328,169 +328,169 @@ class U_I18N_API FormattedRelativeDateTime : public UMemory, public FormattedVal }; /** - * Formats simple relative dates. There are two types of relative dates that - * it handles: - * <ul> - * <li>relative dates with a quantity e.g "in 5 days"</li> - * <li>relative dates without a quantity e.g "next Tuesday"</li> - * </ul> - * <p> - * This API is very basic and is intended to be a building block for more - * fancy APIs. The caller tells it exactly what to display in a locale - * independent way. While this class automatically provides the correct plural - * forms, the grammatical form is otherwise as neutral as possible. It is the - * caller's responsibility to handle cut-off logic such as deciding between - * displaying "in 7 days" or "in 1 week." This API supports relative dates - * involving one single unit. This API does not support relative dates - * involving compound units, - * e.g "in 5 days and 4 hours" nor does it support parsing. - * <p> - * This class is mostly thread safe and immutable with the following caveats: - * 1. The assignment operator violates Immutability. It must not be used - * concurrently with other operations. - * 2. Caller must not hold onto adopted pointers. - * <p> - * This class is not intended for public subclassing. - * <p> - * Here are some examples of use: - * <blockquote> - * <pre> - * UErrorCode status = U_ZERO_ERROR; - * UnicodeString appendTo; - * RelativeDateTimeFormatter fmt(status); - * // Appends "in 1 day" - * fmt.format( - * 1, UDAT_DIRECTION_NEXT, UDAT_RELATIVE_DAYS, appendTo, status); - * // Appends "in 3 days" - * fmt.format( - * 3, UDAT_DIRECTION_NEXT, UDAT_RELATIVE_DAYS, appendTo, status); - * // Appends "3.2 years ago" - * fmt.format( - * 3.2, UDAT_DIRECTION_LAST, UDAT_RELATIVE_YEARS, appendTo, status); - * // Appends "last Sunday" - * fmt.format(UDAT_DIRECTION_LAST, UDAT_ABSOLUTE_SUNDAY, appendTo, status); - * // Appends "this Sunday" - * fmt.format(UDAT_DIRECTION_THIS, UDAT_ABSOLUTE_SUNDAY, appendTo, status); - * // Appends "next Sunday" - * fmt.format(UDAT_DIRECTION_NEXT, UDAT_ABSOLUTE_SUNDAY, appendTo, status); - * // Appends "Sunday" - * fmt.format(UDAT_DIRECTION_PLAIN, UDAT_ABSOLUTE_SUNDAY, appendTo, status); - * - * // Appends "yesterday" - * fmt.format(UDAT_DIRECTION_LAST, UDAT_ABSOLUTE_DAY, appendTo, status); - * // Appends "today" - * fmt.format(UDAT_DIRECTION_THIS, UDAT_ABSOLUTE_DAY, appendTo, status); - * // Appends "tomorrow" - * fmt.format(UDAT_DIRECTION_NEXT, UDAT_ABSOLUTE_DAY, appendTo, status); - * // Appends "now" - * fmt.format(UDAT_DIRECTION_PLAIN, UDAT_ABSOLUTE_NOW, appendTo, status); - * - * </pre> - * </blockquote> - * <p> - * In the future, we may add more forms, such as abbreviated/short forms - * (3 secs ago), and relative day periods ("yesterday afternoon"), etc. - * - * The RelativeDateTimeFormatter class is not intended for public subclassing. - * - * @stable ICU 53 - */ -class U_I18N_API RelativeDateTimeFormatter : public UObject { -public: - - /** - * Create RelativeDateTimeFormatter with default locale. - * @stable ICU 53 - */ - RelativeDateTimeFormatter(UErrorCode& status); - - /** - * Create RelativeDateTimeFormatter with given locale. - * @stable ICU 53 - */ - RelativeDateTimeFormatter(const Locale& locale, UErrorCode& status); - - /** - * Create RelativeDateTimeFormatter with given locale and NumberFormat. - * - * @param locale the locale - * @param nfToAdopt Constructed object takes ownership of this pointer. - * It is an error for caller to delete this pointer or change its - * contents after calling this constructor. + * Formats simple relative dates. There are two types of relative dates that + * it handles: + * <ul> + * <li>relative dates with a quantity e.g "in 5 days"</li> + * <li>relative dates without a quantity e.g "next Tuesday"</li> + * </ul> + * <p> + * This API is very basic and is intended to be a building block for more + * fancy APIs. The caller tells it exactly what to display in a locale + * independent way. While this class automatically provides the correct plural + * forms, the grammatical form is otherwise as neutral as possible. It is the + * caller's responsibility to handle cut-off logic such as deciding between + * displaying "in 7 days" or "in 1 week." This API supports relative dates + * involving one single unit. This API does not support relative dates + * involving compound units, + * e.g "in 5 days and 4 hours" nor does it support parsing. + * <p> + * This class is mostly thread safe and immutable with the following caveats: + * 1. The assignment operator violates Immutability. It must not be used + * concurrently with other operations. + * 2. Caller must not hold onto adopted pointers. + * <p> + * This class is not intended for public subclassing. + * <p> + * Here are some examples of use: + * <blockquote> + * <pre> + * UErrorCode status = U_ZERO_ERROR; + * UnicodeString appendTo; + * RelativeDateTimeFormatter fmt(status); + * // Appends "in 1 day" + * fmt.format( + * 1, UDAT_DIRECTION_NEXT, UDAT_RELATIVE_DAYS, appendTo, status); + * // Appends "in 3 days" + * fmt.format( + * 3, UDAT_DIRECTION_NEXT, UDAT_RELATIVE_DAYS, appendTo, status); + * // Appends "3.2 years ago" + * fmt.format( + * 3.2, UDAT_DIRECTION_LAST, UDAT_RELATIVE_YEARS, appendTo, status); + * // Appends "last Sunday" + * fmt.format(UDAT_DIRECTION_LAST, UDAT_ABSOLUTE_SUNDAY, appendTo, status); + * // Appends "this Sunday" + * fmt.format(UDAT_DIRECTION_THIS, UDAT_ABSOLUTE_SUNDAY, appendTo, status); + * // Appends "next Sunday" + * fmt.format(UDAT_DIRECTION_NEXT, UDAT_ABSOLUTE_SUNDAY, appendTo, status); + * // Appends "Sunday" + * fmt.format(UDAT_DIRECTION_PLAIN, UDAT_ABSOLUTE_SUNDAY, appendTo, status); + * + * // Appends "yesterday" + * fmt.format(UDAT_DIRECTION_LAST, UDAT_ABSOLUTE_DAY, appendTo, status); + * // Appends "today" + * fmt.format(UDAT_DIRECTION_THIS, UDAT_ABSOLUTE_DAY, appendTo, status); + * // Appends "tomorrow" + * fmt.format(UDAT_DIRECTION_NEXT, UDAT_ABSOLUTE_DAY, appendTo, status); + * // Appends "now" + * fmt.format(UDAT_DIRECTION_PLAIN, UDAT_ABSOLUTE_NOW, appendTo, status); + * + * </pre> + * </blockquote> + * <p> + * In the future, we may add more forms, such as abbreviated/short forms + * (3 secs ago), and relative day periods ("yesterday afternoon"), etc. + * + * The RelativeDateTimeFormatter class is not intended for public subclassing. + * + * @stable ICU 53 + */ +class U_I18N_API RelativeDateTimeFormatter : public UObject { +public: + + /** + * Create RelativeDateTimeFormatter with default locale. + * @stable ICU 53 + */ + RelativeDateTimeFormatter(UErrorCode& status); + + /** + * Create RelativeDateTimeFormatter with given locale. + * @stable ICU 53 + */ + RelativeDateTimeFormatter(const Locale& locale, UErrorCode& status); + + /** + * Create RelativeDateTimeFormatter with given locale and NumberFormat. + * + * @param locale the locale + * @param nfToAdopt Constructed object takes ownership of this pointer. + * It is an error for caller to delete this pointer or change its + * contents after calling this constructor. * @param status Any error is returned here. - * @stable ICU 53 - */ - RelativeDateTimeFormatter( - const Locale& locale, NumberFormat *nfToAdopt, UErrorCode& status); - - /** - * Create RelativeDateTimeFormatter with given locale, NumberFormat, - * and capitalization context. - * - * @param locale the locale - * @param nfToAdopt Constructed object takes ownership of this pointer. - * It is an error for caller to delete this pointer or change its - * contents after calling this constructor. Caller may pass NULL for - * this argument if they want default number format behavior. - * @param style the format style. The UDAT_RELATIVE bit field has no effect. - * @param capitalizationContext A value from UDisplayContext that pertains to - * capitalization. + * @stable ICU 53 + */ + RelativeDateTimeFormatter( + const Locale& locale, NumberFormat *nfToAdopt, UErrorCode& status); + + /** + * Create RelativeDateTimeFormatter with given locale, NumberFormat, + * and capitalization context. + * + * @param locale the locale + * @param nfToAdopt Constructed object takes ownership of this pointer. + * It is an error for caller to delete this pointer or change its + * contents after calling this constructor. Caller may pass NULL for + * this argument if they want default number format behavior. + * @param style the format style. The UDAT_RELATIVE bit field has no effect. + * @param capitalizationContext A value from UDisplayContext that pertains to + * capitalization. * @param status Any error is returned here. - * @stable ICU 54 - */ - RelativeDateTimeFormatter( - const Locale& locale, - NumberFormat *nfToAdopt, - UDateRelativeDateTimeFormatterStyle style, - UDisplayContext capitalizationContext, - UErrorCode& status); - - /** - * Copy constructor. - * @stable ICU 53 - */ - RelativeDateTimeFormatter(const RelativeDateTimeFormatter& other); - - /** - * Assignment operator. - * @stable ICU 53 - */ - RelativeDateTimeFormatter& operator=( - const RelativeDateTimeFormatter& other); - - /** - * Destructor. - * @stable ICU 53 - */ - virtual ~RelativeDateTimeFormatter(); - - /** - * Formats a relative date with a quantity such as "in 5 days" or - * "3 months ago" + * @stable ICU 54 + */ + RelativeDateTimeFormatter( + const Locale& locale, + NumberFormat *nfToAdopt, + UDateRelativeDateTimeFormatterStyle style, + UDisplayContext capitalizationContext, + UErrorCode& status); + + /** + * Copy constructor. + * @stable ICU 53 + */ + RelativeDateTimeFormatter(const RelativeDateTimeFormatter& other); + + /** + * Assignment operator. + * @stable ICU 53 + */ + RelativeDateTimeFormatter& operator=( + const RelativeDateTimeFormatter& other); + + /** + * Destructor. + * @stable ICU 53 + */ + virtual ~RelativeDateTimeFormatter(); + + /** + * Formats a relative date with a quantity such as "in 5 days" or + * "3 months ago" * * This method returns a String. To get more information about the * formatting result, use formatToValue(). * - * @param quantity The numerical amount e.g 5. This value is formatted - * according to this object's NumberFormat object. - * @param direction NEXT means a future relative date; LAST means a past - * relative date. If direction is anything else, this method sets - * status to U_ILLEGAL_ARGUMENT_ERROR. - * @param unit the unit e.g day? month? year? - * @param appendTo The string to which the formatted result will be - * appended - * @param status ICU error code returned here. - * @return appendTo - * @stable ICU 53 - */ - UnicodeString& format( - double quantity, - UDateDirection direction, - UDateRelativeUnit unit, - UnicodeString& appendTo, - UErrorCode& status) const; - - /** + * @param quantity The numerical amount e.g 5. This value is formatted + * according to this object's NumberFormat object. + * @param direction NEXT means a future relative date; LAST means a past + * relative date. If direction is anything else, this method sets + * status to U_ILLEGAL_ARGUMENT_ERROR. + * @param unit the unit e.g day? month? year? + * @param appendTo The string to which the formatted result will be + * appended + * @param status ICU error code returned here. + * @return appendTo + * @stable ICU 53 + */ + UnicodeString& format( + double quantity, + UDateDirection direction, + UDateRelativeUnit unit, + UnicodeString& appendTo, + UErrorCode& status) const; + + /** * Formats a relative date with a quantity such as "in 5 days" or * "3 months ago" * @@ -514,28 +514,28 @@ public: UErrorCode& status) const; /** - * Formats a relative date without a quantity. + * Formats a relative date without a quantity. * * This method returns a String. To get more information about the * formatting result, use formatToValue(). * - * @param direction NEXT, LAST, THIS, etc. - * @param unit e.g SATURDAY, DAY, MONTH - * @param appendTo The string to which the formatted result will be - * appended. If the value of direction is documented as not being fully - * supported in all locales then this method leaves appendTo unchanged if - * no format string is available. - * @param status ICU error code returned here. - * @return appendTo - * @stable ICU 53 - */ - UnicodeString& format( - UDateDirection direction, - UDateAbsoluteUnit unit, - UnicodeString& appendTo, - UErrorCode& status) const; - - /** + * @param direction NEXT, LAST, THIS, etc. + * @param unit e.g SATURDAY, DAY, MONTH + * @param appendTo The string to which the formatted result will be + * appended. If the value of direction is documented as not being fully + * supported in all locales then this method leaves appendTo unchanged if + * no format string is available. + * @param status ICU error code returned here. + * @return appendTo + * @stable ICU 53 + */ + UnicodeString& format( + UDateDirection direction, + UDateAbsoluteUnit unit, + UnicodeString& appendTo, + UErrorCode& status) const; + + /** * Formats a relative date without a quantity. * * This method returns a FormattedRelativeDateTime, which exposes more @@ -556,33 +556,33 @@ public: UErrorCode& status) const; /** - * 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". + * 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". * * This method returns a String. To get more information about the * formatting result, use formatNumericToValue(). - * - * @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 + * + * @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 * @stable ICU 57 - */ - UnicodeString& formatNumeric( - double offset, - URelativeDateTimeUnit unit, - UnicodeString& appendTo, - UErrorCode& status) const; - - /** - * Format a combination of URelativeDateTimeUnit and numeric offset + */ + UnicodeString& formatNumeric( + double offset, + URelativeDateTimeUnit unit, + UnicodeString& appendTo, + UErrorCode& status) const; + + /** + * 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". * @@ -606,31 +606,31 @@ public: /** * 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. - * + * 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. + * * This method returns a String. To get more information about the * formatting result, use formatToValue(). * - * @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 + * @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 * @stable ICU 57 - */ - UnicodeString& format( - double offset, - URelativeDateTimeUnit unit, - UnicodeString& appendTo, - UErrorCode& status) const; - - /** + */ + UnicodeString& format( + 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 @@ -654,56 +654,56 @@ public: UErrorCode& status) const; /** - * 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 - * default calendar in this locale. - * - * @param relativeDateString the relative date, e.g 'yesterday' - * @param timeString the time e.g '3:45' - * @param appendTo concatenated date and time appended here - * @param status ICU error code returned here. - * @return appendTo - * @stable ICU 53 - */ - UnicodeString& combineDateAndTime( - const UnicodeString& relativeDateString, - const UnicodeString& timeString, - UnicodeString& appendTo, - UErrorCode& status) const; - - /** - * Returns the NumberFormat this object is using. - * - * @stable ICU 53 - */ - const NumberFormat& getNumberFormat() const; - - /** - * Returns the capitalization context. - * - * @stable ICU 54 - */ - UDisplayContext getCapitalizationContext() const; - - /** - * Returns the format style. - * - * @stable ICU 54 - */ - UDateRelativeDateTimeFormatterStyle getFormatStyle() const; - -private: - const RelativeDateTimeCacheData* fCache; - const SharedNumberFormat *fNumberFormat; - const SharedPluralRules *fPluralRules; - UDateRelativeDateTimeFormatterStyle fStyle; - UDisplayContext fContext; - const SharedBreakIterator *fOptBreakIterator; - Locale fLocale; - void init( - NumberFormat *nfToAdopt, - BreakIterator *brkIter, - UErrorCode &status); + * 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 + * default calendar in this locale. + * + * @param relativeDateString the relative date, e.g 'yesterday' + * @param timeString the time e.g '3:45' + * @param appendTo concatenated date and time appended here + * @param status ICU error code returned here. + * @return appendTo + * @stable ICU 53 + */ + UnicodeString& combineDateAndTime( + const UnicodeString& relativeDateString, + const UnicodeString& timeString, + UnicodeString& appendTo, + UErrorCode& status) const; + + /** + * Returns the NumberFormat this object is using. + * + * @stable ICU 53 + */ + const NumberFormat& getNumberFormat() const; + + /** + * Returns the capitalization context. + * + * @stable ICU 54 + */ + UDisplayContext getCapitalizationContext() const; + + /** + * Returns the format style. + * + * @stable ICU 54 + */ + UDateRelativeDateTimeFormatterStyle getFormatStyle() const; + +private: + const RelativeDateTimeCacheData* fCache; + const SharedNumberFormat *fNumberFormat; + const SharedPluralRules *fPluralRules; + UDateRelativeDateTimeFormatterStyle fStyle; + UDisplayContext fContext; + const SharedBreakIterator *fOptBreakIterator; + Locale fLocale; + void init( + NumberFormat *nfToAdopt, + BreakIterator *brkIter, + UErrorCode &status); UnicodeString& adjustForContext(UnicodeString &) const; UBool checkNoAdjustForContext(UErrorCode& status) const; @@ -741,13 +741,13 @@ private: URelativeDateTimeUnit unit, FormattedRelativeDateTimeData& output, UErrorCode& status) const; -}; - -U_NAMESPACE_END - -#endif /* !UCONFIG_NO_BREAK_ITERATION */ -#endif /* !UCONFIG_NO_FORMATTING */ +}; + +U_NAMESPACE_END + +#endif /* !UCONFIG_NO_BREAK_ITERATION */ +#endif /* !UCONFIG_NO_FORMATTING */ #endif /* U_SHOW_CPLUSPLUS_API */ -#endif /* __RELDATEFMT_H */ +#endif /* __RELDATEFMT_H */ |