diff options
Diffstat (limited to 'deps/node/deps/icu-small/source/i18n/persncal.h')
-rw-r--r-- | deps/node/deps/icu-small/source/i18n/persncal.h | 320 |
1 files changed, 0 insertions, 320 deletions
diff --git a/deps/node/deps/icu-small/source/i18n/persncal.h b/deps/node/deps/icu-small/source/i18n/persncal.h deleted file mode 100644 index ec818822..00000000 --- a/deps/node/deps/icu-small/source/i18n/persncal.h +++ /dev/null @@ -1,320 +0,0 @@ -// © 2016 and later: Unicode, Inc. and others. -// License & terms of use: http://www.unicode.org/copyright.html -/* - ****************************************************************************** - * Copyright (C) 2003-2013, International Business Machines Corporation - * and others. All Rights Reserved. - ****************************************************************************** - * - * File PERSNCAL.H - * - * Modification History: - * - * Date Name Description - * 9/23/2003 mehran posted to icu-design - ***************************************************************************** - */ - -#ifndef PERSNCAL_H -#define PERSNCAL_H - -#include "unicode/utypes.h" - -#if !UCONFIG_NO_FORMATTING - -#include "unicode/calendar.h" - -U_NAMESPACE_BEGIN - -/** - * <code>PersianCalendar</code> is a subclass of <code>Calendar</code> - * that implements the Persian calendar. It is used as the official - * calendar in Iran. This calendar is also known as the "Hijri Shamsi" - * calendar, since it starts at the time of Mohammed's emigration (or - * "hijra") to Medinah on Thursday, July 15, 622 AD (Julian) and is a - * solar calendar system (or "shamsi"). - * <p> - * The Persian calendar is strictly solar, and thus a Persian year has twelve - * solar months. A Persian year is about 365 days long, except in leap years - * which is 366 days long. - * <p> - * The six first months of Persian Calendar are 31 days long. The next five - * months are 30 days long. The last month is 29 days long in normal years, - * and 30 days long in leap years. - * - * @see GregorianCalendar - * - * @author Mehran Mehr - * @internal - */ -class PersianCalendar : public Calendar { - public: - //------------------------------------------------------------------------- - // Constants... - //------------------------------------------------------------------------- - /** - * Constants for the months - * @internal - */ - enum EMonths { - /** - * Constant for Farvardin, the 1st month of the Persian year. - * @internal - */ - FARVARDIN = 0, - - /** - * Constant for Ordibehesht, the 2nd month of the Persian year. - * @internal - */ - ORDIBEHESHT = 1, - - /** - * Constant for Khordad, the 3rd month of the Persian year. - * @internal - */ - KHORDAD = 2, - - /** - * Constant for Tir, the 4th month of the Persian year. - * @internal - */ - TIR = 3, - - /** - * Constant for Mordad, the 5th month of the Persian year. - * @internal - */ - MORDAD = 4, - - /** - * Constant for Shahrivar, the 6th month of the Persian year. - * @internal - */ - SHAHRIVAR = 5, - - /** - * Constant for Mehr, the 7th month of the Persian year. - * @internal - */ - MEHR = 6, - - /** - * Constant for Aban, the 8th month of the Persian year. - * @internal - */ - ABAN = 7, - - /** - * Constant for Azar, the 9th month of the Persian year. - * @internal - */ - AZAR = 8, - - /** - * Constant for Dei, the 10th month of the Persian year. - * @internal - */ - DEI = 9, - - /** - * Constant for Bahman, the 11th month of the Persian year. - * @internal - */ - BAHMAN = 10, - - /** - * Constant for Esfand, the 12th month of the Persian year. - * @internal - */ - ESFAND = 11, - - PERSIAN_MONTH_MAX - }; - - - - //------------------------------------------------------------------------- - // Constructors... - //------------------------------------------------------------------------- - - /** - * Constructs a PersianCalendar based on the current time in the default time zone - * with the given locale. - * - * @param aLocale The given locale. - * @param success Indicates the status of PersianCalendar object construction. - * Returns U_ZERO_ERROR if constructed successfully. - * @internal - */ - PersianCalendar(const Locale& aLocale, UErrorCode &success); - - /** - * Copy Constructor - * @internal - */ - PersianCalendar(const PersianCalendar& other); - - /** - * Destructor. - * @internal - */ - virtual ~PersianCalendar(); - - // TODO: copy c'tor, etc - - // clone - virtual Calendar* clone() const; - - private: - /** - * Determine whether a year is a leap year in the Persian calendar - */ - static UBool isLeapYear(int32_t year); - - /** - * Return the day # on which the given year starts. Days are counted - * from the Hijri epoch, origin 0. - */ - int32_t yearStart(int32_t year); - - /** - * Return the day # on which the given month starts. Days are counted - * from the Hijri epoch, origin 0. - * - * @param year The hijri shamsi year - * @param year The hijri shamsi month, 0-based - */ - int32_t monthStart(int32_t year, int32_t month) const; - - //---------------------------------------------------------------------- - // Calendar framework - //---------------------------------------------------------------------- - protected: - /** - * @internal - */ - virtual int32_t handleGetLimit(UCalendarDateFields field, ELimitType limitType) const; - - /** - * Return the length (in days) of the given month. - * - * @param year The hijri shamsi year - * @param year The hijri shamsi month, 0-based - * @internal - */ - virtual int32_t handleGetMonthLength(int32_t extendedYear, int32_t month) const; - - /** - * Return the number of days in the given Persian year - * @internal - */ - virtual int32_t handleGetYearLength(int32_t extendedYear) const; - - //------------------------------------------------------------------------- - // Functions for converting from field values to milliseconds.... - //------------------------------------------------------------------------- - - // Return JD of start of given month/year - /** - * @internal - */ - virtual int32_t handleComputeMonthStart(int32_t eyear, int32_t month, UBool useMonth) const; - - //------------------------------------------------------------------------- - // Functions for converting from milliseconds to field values - //------------------------------------------------------------------------- - - /** - * @internal - */ - virtual int32_t handleGetExtendedYear(); - - /** - * Override Calendar to compute several fields specific to the Persian - * calendar system. These are: - * - * <ul><li>ERA - * <li>YEAR - * <li>MONTH - * <li>DAY_OF_MONTH - * <li>DAY_OF_YEAR - * <li>EXTENDED_YEAR</ul> - * - * The DAY_OF_WEEK and DOW_LOCAL fields are already set when this - * method is called. The getGregorianXxx() methods return Gregorian - * calendar equivalents for the given Julian day. - * @internal - */ - virtual void handleComputeFields(int32_t julianDay, UErrorCode &status); - - // UObject stuff - public: - /** - * @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 - */ - virtual UClassID getDynamicClassID(void) const; - - /** - * Return the class ID for this class. This is useful only for comparing to a return - * value from getDynamicClassID(). For example: - * - * Base* polymorphic_pointer = createPolymorphicObject(); - * if (polymorphic_pointer->getDynamicClassID() == - * Derived::getStaticClassID()) ... - * - * @return The class ID for all objects of this class. - * @internal - */ - U_I18N_API static UClassID U_EXPORT2 getStaticClassID(void); - - /** - * return the calendar type, "persian". - * - * @return calendar type - * @internal - */ - virtual const char * getType() const; - - private: - PersianCalendar(); // default constructor not implemented - - protected: - - /** - * (Overrides Calendar) Return true if the current date for this Calendar is in - * Daylight Savings Time. Recognizes DST_OFFSET, if it is set. - * - * @param status Fill-in parameter which receives the status of this operation. - * @return True if the current date for this Calendar is in Daylight Savings Time, - * false, otherwise. - * @internal - */ - virtual UBool inDaylightTime(UErrorCode& status) const; - - /** - * Returns TRUE because the Persian Calendar does have a default century - * @internal - */ - virtual UBool haveDefaultCentury() const; - - /** - * Returns the date of the start of the default century - * @return start of century - in milliseconds since epoch, 1970 - * @internal - */ - virtual UDate defaultCenturyStart() const; - - /** - * Returns the year in which the default century begins - * @internal - */ - virtual int32_t defaultCenturyStartYear() const; -}; - -U_NAMESPACE_END - -#endif -#endif |