diff options
author | mcheshkov <mcheshkov@yandex-team.ru> | 2022-02-10 16:46:15 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:46:15 +0300 |
commit | e9d19cec64684c9c1e6b0c98297e5b895cf904fe (patch) | |
tree | 2768b1223e96a8a0610a93d18425d9647c1123c8 /contrib/libs/icu/include/unicode/reldatefmt.h | |
parent | 60040c91ffe701a84689b2c6310ff845e65cff42 (diff) | |
download | ydb-e9d19cec64684c9c1e6b0c98297e5b895cf904fe.tar.gz |
Restoring authorship annotation for <mcheshkov@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/icu/include/unicode/reldatefmt.h')
-rw-r--r-- | contrib/libs/icu/include/unicode/reldatefmt.h | 476 |
1 files changed, 238 insertions, 238 deletions
diff --git a/contrib/libs/icu/include/unicode/reldatefmt.h b/contrib/libs/icu/include/unicode/reldatefmt.h index d5533bb379..88c870dc9c 100644 --- a/contrib/libs/icu/include/unicode/reldatefmt.h +++ b/contrib/libs/icu/include/unicode/reldatefmt.h @@ -1,4 +1,4 @@ -// © 2016 and later: Unicode, Inc. and others. +// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ***************************************************************************** @@ -15,14 +15,14 @@ #define __RELDATEFMT_H #include "unicode/utypes.h" - -#if U_SHOW_CPLUSPLUS_API - + +#if U_SHOW_CPLUSPLUS_API + #include "unicode/uobject.h" #include "unicode/udisplaycontext.h" #include "unicode/ureldatefmt.h" #include "unicode/locid.h" -#include "unicode/formattedvalue.h" +#include "unicode/formattedvalue.h" /** * \file @@ -169,32 +169,32 @@ typedef enum UDateAbsoluteUnit { */ UDAT_ABSOLUTE_NOW, - /** - * Quarter - * @stable ICU 63 - */ - UDAT_ABSOLUTE_QUARTER, - -#ifndef U_HIDE_DRAFT_API - /** - * Hour - * @draft ICU 65 - */ - UDAT_ABSOLUTE_HOUR, - - /** - * Minute - * @draft ICU 65 - */ - UDAT_ABSOLUTE_MINUTE, -#endif // U_HIDE_DRAFT_API - + /** + * Quarter + * @stable ICU 63 + */ + UDAT_ABSOLUTE_QUARTER, + +#ifndef U_HIDE_DRAFT_API + /** + * Hour + * @draft ICU 65 + */ + UDAT_ABSOLUTE_HOUR, + + /** + * Minute + * @draft ICU 65 + */ + 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. */ - UDAT_ABSOLUTE_UNIT_COUNT = UDAT_ABSOLUTE_NOW + 4 + UDAT_ABSOLUTE_UNIT_COUNT = UDAT_ABSOLUTE_NOW + 4 #endif // U_HIDE_DEPRECATED_API } UDateAbsoluteUnit; @@ -254,80 +254,80 @@ typedef enum UDateDirection { U_NAMESPACE_BEGIN -class BreakIterator; +class BreakIterator; 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. - * - * Not intended for public subclassing. - * - * @stable ICU 64 - */ -class U_I18N_API FormattedRelativeDateTime : public UMemory, public FormattedValue { - public: - /** - * Default constructor; makes an empty FormattedRelativeDateTime. - * @stable ICU 64 - */ - FormattedRelativeDateTime() : fData(nullptr), fErrorCode(U_INVALID_STATE_ERROR) {} - - /** - * Move constructor: Leaves the source FormattedRelativeDateTime in an undefined state. - * @stable ICU 64 - */ - FormattedRelativeDateTime(FormattedRelativeDateTime&& src) U_NOEXCEPT; - - /** - * Destruct an instance of FormattedRelativeDateTime. - * @stable ICU 64 - */ - virtual ~FormattedRelativeDateTime() U_OVERRIDE; - - /** Copying not supported; use move constructor instead. */ - FormattedRelativeDateTime(const FormattedRelativeDateTime&) = delete; - - /** Copying not supported; use move assignment instead. */ - FormattedRelativeDateTime& operator=(const FormattedRelativeDateTime&) = delete; - - /** - * Move assignment: Leaves the source FormattedRelativeDateTime in an undefined state. - * @stable ICU 64 - */ - FormattedRelativeDateTime& operator=(FormattedRelativeDateTime&& src) U_NOEXCEPT; - - /** @copydoc FormattedValue::toString() */ - UnicodeString toString(UErrorCode& status) const U_OVERRIDE; - - /** @copydoc FormattedValue::toTempString() */ - UnicodeString toTempString(UErrorCode& status) const U_OVERRIDE; - - /** @copydoc FormattedValue::appendTo() */ - Appendable &appendTo(Appendable& appendable, UErrorCode& status) const U_OVERRIDE; - - /** @copydoc FormattedValue::nextPosition() */ - UBool nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const U_OVERRIDE; - - private: - FormattedRelativeDateTimeData *fData; - UErrorCode fErrorCode; - explicit FormattedRelativeDateTime(FormattedRelativeDateTimeData *results) - : fData(results), fErrorCode(U_ZERO_ERROR) {} - explicit FormattedRelativeDateTime(UErrorCode errorCode) - : fData(nullptr), fErrorCode(errorCode) {} - friend class RelativeDateTimeFormatter; -}; +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. + * + * Not intended for public subclassing. + * + * @stable ICU 64 + */ +class U_I18N_API FormattedRelativeDateTime : public UMemory, public FormattedValue { + public: + /** + * Default constructor; makes an empty FormattedRelativeDateTime. + * @stable ICU 64 + */ + FormattedRelativeDateTime() : fData(nullptr), fErrorCode(U_INVALID_STATE_ERROR) {} + + /** + * Move constructor: Leaves the source FormattedRelativeDateTime in an undefined state. + * @stable ICU 64 + */ + FormattedRelativeDateTime(FormattedRelativeDateTime&& src) U_NOEXCEPT; + + /** + * Destruct an instance of FormattedRelativeDateTime. + * @stable ICU 64 + */ + virtual ~FormattedRelativeDateTime() U_OVERRIDE; + + /** Copying not supported; use move constructor instead. */ + FormattedRelativeDateTime(const FormattedRelativeDateTime&) = delete; + + /** Copying not supported; use move assignment instead. */ + FormattedRelativeDateTime& operator=(const FormattedRelativeDateTime&) = delete; + + /** + * Move assignment: Leaves the source FormattedRelativeDateTime in an undefined state. + * @stable ICU 64 + */ + FormattedRelativeDateTime& operator=(FormattedRelativeDateTime&& src) U_NOEXCEPT; + + /** @copydoc FormattedValue::toString() */ + UnicodeString toString(UErrorCode& status) const U_OVERRIDE; + + /** @copydoc FormattedValue::toTempString() */ + UnicodeString toTempString(UErrorCode& status) const U_OVERRIDE; + + /** @copydoc FormattedValue::appendTo() */ + Appendable &appendTo(Appendable& appendable, UErrorCode& status) const U_OVERRIDE; + + /** @copydoc FormattedValue::nextPosition() */ + UBool nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const U_OVERRIDE; + + private: + FormattedRelativeDateTimeData *fData; + UErrorCode fErrorCode; + explicit FormattedRelativeDateTime(FormattedRelativeDateTimeData *results) + : fData(results), fErrorCode(U_ZERO_ERROR) {} + explicit FormattedRelativeDateTime(UErrorCode errorCode) + : fData(nullptr), fErrorCode(errorCode) {} + friend class RelativeDateTimeFormatter; +}; + +/** * Formats simple relative dates. There are two types of relative dates that * it handles: * <ul> @@ -417,7 +417,7 @@ public: * @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. + * @param status Any error is returned here. * @stable ICU 53 */ RelativeDateTimeFormatter( @@ -435,7 +435,7 @@ public: * @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. + * @param status Any error is returned here. * @stable ICU 54 */ RelativeDateTimeFormatter( @@ -467,10 +467,10 @@ public: /** * 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(). - * + * + * 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 @@ -491,34 +491,34 @@ public: UErrorCode& status) const; /** - * Formats a relative date with a quantity such as "in 5 days" or - * "3 months ago" - * - * This method returns a FormattedRelativeDateTime, which exposes more - * information than the String returned by format(). - * - * @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 status ICU error code returned here. - * @return The formatted relative datetime - * @stable ICU 64 - */ - FormattedRelativeDateTime formatToValue( - double quantity, - UDateDirection direction, - UDateRelativeUnit unit, - UErrorCode& status) const; - - /** + * Formats a relative date with a quantity such as "in 5 days" or + * "3 months ago" + * + * This method returns a FormattedRelativeDateTime, which exposes more + * information than the String returned by format(). + * + * @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 status ICU error code returned here. + * @return The formatted relative datetime + * @stable ICU 64 + */ + FormattedRelativeDateTime formatToValue( + double quantity, + UDateDirection direction, + UDateRelativeUnit unit, + UErrorCode& status) const; + + /** * Formats a relative date without a quantity. - * - * This method returns a String. To get more information about the - * formatting result, use formatToValue(). - * + * + * 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 @@ -536,32 +536,32 @@ public: UErrorCode& status) const; /** - * Formats a relative date without a quantity. - * - * This method returns a FormattedRelativeDateTime, which exposes more - * information than the String returned by format(). - * - * If the string is not available in the requested locale, the return - * value will be empty (calling toString will give an empty string). - * - * @param direction NEXT, LAST, THIS, etc. - * @param unit e.g SATURDAY, DAY, MONTH - * @param status ICU error code returned here. - * @return The formatted relative datetime - * @stable ICU 64 - */ - FormattedRelativeDateTime formatToValue( - UDateDirection direction, - UDateAbsoluteUnit unit, - UErrorCode& status) const; - - /** + * Formats a relative date without a quantity. + * + * This method returns a FormattedRelativeDateTime, which exposes more + * information than the String returned by format(). + * + * If the string is not available in the requested locale, the return + * value will be empty (calling toString will give an empty string). + * + * @param direction NEXT, LAST, THIS, etc. + * @param unit e.g SATURDAY, DAY, MONTH + * @param status ICU error code returned here. + * @return The formatted relative datetime + * @stable ICU 64 + */ + FormattedRelativeDateTime formatToValue( + UDateDirection direction, + UDateAbsoluteUnit unit, + 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". - * - * This method returns a String. To get more information about the - * formatting result, use formatNumericToValue(). + * + * 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 @@ -573,7 +573,7 @@ public: * appended. * @param status ICU error code returned here. * @return appendTo - * @stable ICU 57 + * @stable ICU 57 */ UnicodeString& formatNumeric( double offset, @@ -583,37 +583,37 @@ public: /** * 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 FormattedRelativeDateTime, which exposes more - * information than the String returned by formatNumeric(). + * 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 status ICU error code returned here. - * @return The formatted relative datetime - * @stable ICU 64 - */ - FormattedRelativeDateTime formatNumericToValue( - double offset, - URelativeDateTimeUnit unit, - UErrorCode& status) const; - - /** - * Format a combination of URelativeDateTimeUnit and numeric offset + * This method returns a FormattedRelativeDateTime, which exposes more + * information than the String returned by formatNumeric(). + * + * @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 status ICU error code returned here. + * @return The formatted relative datetime + * @stable ICU 64 + */ + FormattedRelativeDateTime formatNumericToValue( + double offset, + URelativeDateTimeUnit unit, + 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. * - * This method returns a String. To get more information about the - * formatting result, use formatToValue(). - * + * 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, @@ -622,7 +622,7 @@ public: * appended. * @param status ICU error code returned here. * @return appendTo - * @stable ICU 57 + * @stable ICU 57 */ UnicodeString& format( double offset, @@ -631,29 +631,29 @@ public: 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. - * - * This method returns a FormattedRelativeDateTime, which exposes more - * information than the String returned by format(). - * - * @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 status ICU error code returned here. - * @return The formatted relative datetime - * @stable ICU 64 - */ - FormattedRelativeDateTime formatToValue( - double offset, - URelativeDateTimeUnit unit, - 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. + * + * This method returns a FormattedRelativeDateTime, which exposes more + * information than the String returned by format(). + * + * @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 status ICU error code returned here. + * @return The formatted relative datetime + * @stable ICU 64 + */ + FormattedRelativeDateTime formatToValue( + double offset, + URelativeDateTimeUnit unit, + 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. @@ -704,50 +704,50 @@ private: NumberFormat *nfToAdopt, BreakIterator *brkIter, UErrorCode &status); - UnicodeString& adjustForContext(UnicodeString &) const; - UBool checkNoAdjustForContext(UErrorCode& status) const; - - template<typename F, typename... Args> - UnicodeString& doFormat( - F callback, - UnicodeString& appendTo, - UErrorCode& status, - Args... args) const; - - template<typename F, typename... Args> - FormattedRelativeDateTime doFormatToValue( - F callback, - UErrorCode& status, - Args... args) const; - - void formatImpl( - double quantity, - UDateDirection direction, - UDateRelativeUnit unit, - FormattedRelativeDateTimeData& output, - UErrorCode& status) const; - void formatAbsoluteImpl( - UDateDirection direction, - UDateAbsoluteUnit unit, - FormattedRelativeDateTimeData& output, - UErrorCode& status) const; - void formatNumericImpl( - double offset, - URelativeDateTimeUnit unit, - FormattedRelativeDateTimeData& output, - UErrorCode& status) const; - void formatRelativeImpl( - double offset, - URelativeDateTimeUnit unit, - FormattedRelativeDateTimeData& output, - UErrorCode& status) const; + UnicodeString& adjustForContext(UnicodeString &) const; + UBool checkNoAdjustForContext(UErrorCode& status) const; + + template<typename F, typename... Args> + UnicodeString& doFormat( + F callback, + UnicodeString& appendTo, + UErrorCode& status, + Args... args) const; + + template<typename F, typename... Args> + FormattedRelativeDateTime doFormatToValue( + F callback, + UErrorCode& status, + Args... args) const; + + void formatImpl( + double quantity, + UDateDirection direction, + UDateRelativeUnit unit, + FormattedRelativeDateTimeData& output, + UErrorCode& status) const; + void formatAbsoluteImpl( + UDateDirection direction, + UDateAbsoluteUnit unit, + FormattedRelativeDateTimeData& output, + UErrorCode& status) const; + void formatNumericImpl( + double offset, + URelativeDateTimeUnit unit, + FormattedRelativeDateTimeData& output, + UErrorCode& status) const; + void formatRelativeImpl( + double offset, + URelativeDateTimeUnit unit, + FormattedRelativeDateTimeData& output, + UErrorCode& status) const; }; U_NAMESPACE_END #endif /* !UCONFIG_NO_BREAK_ITERATION */ #endif /* !UCONFIG_NO_FORMATTING */ - -#endif /* U_SHOW_CPLUSPLUS_API */ - + +#endif /* U_SHOW_CPLUSPLUS_API */ + #endif /* __RELDATEFMT_H */ |