diff options
Diffstat (limited to 'deps/node/deps/icu-small/source/i18n/reldtfmt.h')
-rw-r--r-- | deps/node/deps/icu-small/source/i18n/reldtfmt.h | 338 |
1 files changed, 0 insertions, 338 deletions
diff --git a/deps/node/deps/icu-small/source/i18n/reldtfmt.h b/deps/node/deps/icu-small/source/i18n/reldtfmt.h deleted file mode 100644 index 0403da11..00000000 --- a/deps/node/deps/icu-small/source/i18n/reldtfmt.h +++ /dev/null @@ -1,338 +0,0 @@ -// © 2016 and later: Unicode, Inc. and others. -// License & terms of use: http://www.unicode.org/copyright.html -/* -******************************************************************************* -* Copyright (C) 2007-2016, International Business Machines Corporation and * -* others. All Rights Reserved. * -******************************************************************************* -*/ - -#ifndef RELDTFMT_H -#define RELDTFMT_H - -#include "unicode/utypes.h" - -/** - * \file - * \brief C++ API: Format and parse relative dates and times. - */ - -#if !UCONFIG_NO_FORMATTING - -#include "unicode/datefmt.h" -#include "unicode/smpdtfmt.h" -#include "unicode/brkiter.h" - -U_NAMESPACE_BEGIN - -// forward declarations -class DateFormatSymbols; -class SimpleFormatter; - -// internal structure used for caching strings -struct URelativeString; - -/** - * This class is normally accessed using the kRelative or k...Relative values of EStyle as - * parameters to DateFormat::createDateInstance. - * - * Example: - * DateFormat *fullrelative = DateFormat::createDateInstance(DateFormat::kFullRelative, loc); - * - * @internal ICU 3.8 - */ - -class RelativeDateFormat : public DateFormat { -public: - RelativeDateFormat( UDateFormatStyle timeStyle, UDateFormatStyle dateStyle, const Locale& locale, UErrorCode& status); - - // overrides - /** - * Copy constructor. - * @internal ICU 3.8 - */ - RelativeDateFormat(const RelativeDateFormat&); - - /** - * Assignment operator. - * @internal ICU 3.8 - */ - RelativeDateFormat& operator=(const RelativeDateFormat&); - - /** - * Destructor. - * @internal ICU 3.8 - */ - virtual ~RelativeDateFormat(); - - /** - * Clone this Format object polymorphically. The caller owns the result and - * should delete it when done. - * @return A copy of the object. - * @internal ICU 3.8 - */ - virtual Format* clone(void) const; - - /** - * Return true if the given Format objects are semantically equal. Objects - * of different subclasses are considered unequal. - * @param other the object to be compared with. - * @return true if the given Format objects are semantically equal. - * @internal ICU 3.8 - */ - virtual UBool operator==(const Format& other) const; - - - using DateFormat::format; - - /** - * Format a date or time, which is the standard millis since 24:00 GMT, Jan - * 1, 1970. Overrides DateFormat pure virtual method. - * <P> - * Example: using the US locale: "yyyy.MM.dd e 'at' HH:mm:ss zzz" ->> - * 1996.07.10 AD at 15:08:56 PDT - * - * @param cal Calendar set to the date and time to be formatted - * into a date/time string. - * @param appendTo Output parameter to receive result. - * Result is appended to existing contents. - * @param pos The formatting position. On input: an alignment field, - * if desired. On output: the offsets of the alignment field. - * @return Reference to 'appendTo' parameter. - * @internal ICU 3.8 - */ - virtual UnicodeString& format( Calendar& cal, - UnicodeString& appendTo, - FieldPosition& pos) const; - - /** - * Format an object to produce a string. This method handles Formattable - * objects with a UDate type. If a the Formattable object type is not a Date, - * then it returns a failing UErrorCode. - * - * @param obj The object to format. Must be a Date. - * @param appendTo Output parameter to receive result. - * Result is appended to existing contents. - * @param pos On input: an alignment field, if desired. - * On output: the offsets of the alignment field. - * @param status Output param filled with success/failure status. - * @return Reference to 'appendTo' parameter. - * @internal ICU 3.8 - */ - virtual UnicodeString& format(const Formattable& obj, - UnicodeString& appendTo, - FieldPosition& pos, - UErrorCode& status) const; - - - /** - * Parse a date/time string beginning at the given parse position. For - * example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date - * that is equivalent to Date(837039928046). - * <P> - * By default, parsing is lenient: If the input is not in the form used by - * this object's format method but can still be parsed as a date, then the - * parse succeeds. Clients may insist on strict adherence to the format by - * calling setLenient(false). - * - * @param text The date/time string to be parsed - * @param cal a Calendar set to the date and time to be formatted - * into a date/time string. - * @param pos On input, the position at which to start parsing; on - * output, the position at which parsing terminated, or the - * start position if the parse failed. - * @return A valid UDate if the input could be parsed. - * @internal ICU 3.8 - */ - virtual void parse( const UnicodeString& text, - Calendar& cal, - ParsePosition& pos) const; - - /** - * Parse a date/time string starting at the given parse position. For - * example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date - * that is equivalent to Date(837039928046). - * <P> - * By default, parsing is lenient: If the input is not in the form used by - * this object's format method but can still be parsed as a date, then the - * parse succeeds. Clients may insist on strict adherence to the format by - * calling setLenient(false). - * - * @see DateFormat::setLenient(boolean) - * - * @param text The date/time string to be parsed - * @param pos On input, the position at which to start parsing; on - * output, the position at which parsing terminated, or the - * start position if the parse failed. - * @return A valid UDate if the input could be parsed. - * @internal ICU 3.8 - */ - UDate parse( const UnicodeString& text, - ParsePosition& pos) const; - - - /** - * Parse a date/time string. For example, a time text "07/10/96 4:5 PM, PDT" - * will be parsed into a UDate that is equivalent to Date(837039928046). - * Parsing begins at the beginning of the string and proceeds as far as - * possible. Assuming no parse errors were encountered, this function - * doesn't return any information about how much of the string was consumed - * by the parsing. If you need that information, use the version of - * parse() that takes a ParsePosition. - * - * @param text The date/time string to be parsed - * @param status Filled in with U_ZERO_ERROR if the parse was successful, and with - * an error value if there was a parse error. - * @return A valid UDate if the input could be parsed. - * @internal ICU 3.8 - */ - virtual UDate parse( const UnicodeString& text, - UErrorCode& status) const; - - /** - * Return a single pattern string generated by combining the patterns for the - * date and time formatters associated with this object. - * @param result Output param to receive the pattern. - * @return A reference to 'result'. - * @internal ICU 4.2 technology preview - */ - virtual UnicodeString& toPattern(UnicodeString& result, UErrorCode& status) const; - - /** - * Get the date pattern for the the date formatter associated with this object. - * @param result Output param to receive the date pattern. - * @return A reference to 'result'. - * @internal ICU 4.2 technology preview - */ - virtual UnicodeString& toPatternDate(UnicodeString& result, UErrorCode& status) const; - - /** - * Get the time pattern for the the time formatter associated with this object. - * @param result Output param to receive the time pattern. - * @return A reference to 'result'. - * @internal ICU 4.2 technology preview - */ - virtual UnicodeString& toPatternTime(UnicodeString& result, UErrorCode& status) const; - - /** - * Apply the given unlocalized date & time pattern strings to this relative date format. - * (i.e., after this call, this formatter will format dates and times according to - * the new patterns) - * - * @param datePattern The date pattern to be applied. - * @param timePattern The time pattern to be applied. - * @internal ICU 4.2 technology preview - */ - virtual void applyPatterns(const UnicodeString& datePattern, const UnicodeString& timePattern, UErrorCode &status); - - /** - * Gets the date/time formatting symbols (this is an object carrying - * the various strings and other symbols used in formatting: e.g., month - * names and abbreviations, time zone names, AM/PM strings, etc.) - * @return a copy of the date-time formatting data associated - * with this date-time formatter. - * @internal ICU 4.8 - */ - virtual const DateFormatSymbols* getDateFormatSymbols(void) const; - - /** - * Set a particular UDisplayContext value in the formatter, such as - * UDISPCTX_CAPITALIZATION_FOR_STANDALONE. Note: For getContext, see - * DateFormat. - * @param value The UDisplayContext value to set. - * @param status Input/output status. If at entry this indicates a failure - * status, the function will do nothing; otherwise this will be - * updated with any new status from the function. - * @internal ICU 53 - */ - virtual void setContext(UDisplayContext value, UErrorCode& status); - -private: - SimpleDateFormat *fDateTimeFormatter; - UnicodeString fDatePattern; - UnicodeString fTimePattern; - SimpleFormatter *fCombinedFormat; // the {0} {1} format. - - UDateFormatStyle fDateStyle; - Locale fLocale; - - int32_t fDatesLen; // Length of array - URelativeString *fDates; // array of strings - - UBool fCombinedHasDateAtStart; - UBool fCapitalizationInfoSet; - UBool fCapitalizationOfRelativeUnitsForUIListMenu; - UBool fCapitalizationOfRelativeUnitsForStandAlone; -#if !UCONFIG_NO_BREAK_ITERATION - BreakIterator* fCapitalizationBrkIter; -#else - UObject* fCapitalizationBrkIter; -#endif - - /** - * Get the string at a specific offset. - * @param day day offset ( -1, 0, 1, etc.. ) - * @param len on output, length of string. - * @return the string, or NULL if none at that location. - */ - const UChar *getStringForDay(int32_t day, int32_t &len, UErrorCode &status) const; - - /** - * Load the Date string array - */ - void loadDates(UErrorCode &status); - - /** - * Set fCapitalizationOfRelativeUnitsForUIListMenu, fCapitalizationOfRelativeUnitsForStandAlone - */ - void initCapitalizationContextInfo(const Locale& thelocale); - - /** - * @return the number of days in "until-now" - */ - static int32_t dayDifference(Calendar &until, UErrorCode &status); - - /** - * initializes fCalendar from parameters. Returns fCalendar as a convenience. - * @param adoptZone Zone to be adopted, or NULL for TimeZone::createDefault(). - * @param locale Locale of the calendar - * @param status Error code - * @return the newly constructed fCalendar - * @internal ICU 3.8 - */ - Calendar* initializeCalendar(TimeZone* adoptZone, const Locale& locale, UErrorCode& status); - -public: - /** - * Return the class ID for this class. This is useful only for comparing to - * a return value from getDynamicClassID(). For example: - * <pre> - * . Base* polymorphic_pointer = createPolymorphicObject(); - * . if (polymorphic_pointer->getDynamicClassID() == - * . erived::getStaticClassID()) ... - * </pre> - * @return The class ID for all objects of this class. - * @internal ICU 3.8 - */ - U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void); - - /** - * Returns a unique class ID POLYMORPHICALLY. Pure virtual override. This - * method is to implement a simple version of RTTI, since not all C++ - * compilers support genuine RTTI. Polymorphic operator==() and clone() - * methods call this method. - * - * @return The class ID for this object. All objects of a - * given class have the same class ID. Objects of - * other classes have different class IDs. - * @internal ICU 3.8 - */ - virtual UClassID getDynamicClassID(void) const; -}; - - -U_NAMESPACE_END - -#endif /* #if !UCONFIG_NO_FORMATTING */ - -#endif // RELDTFMT_H |