19#if U_SHOW_CPLUSPLUS_API
21#if !UCONFIG_NO_FORMATTING
788 enum { TIMEARRAY_STACK_BUFFER_SIZE = 32 };
795 UDate fLocalStartTimes[TIMEARRAY_STACK_BUFFER_SIZE];
AnnualTimeZoneRule is a class used for representing a time zone rule which takes effect annually.
virtual UBool operator==(const TimeZoneRule &that) const
Return true if the given TimeZoneRule objects are semantically equal.
virtual ~AnnualTimeZoneRule()
Destructor.
virtual UClassID getDynamicClassID(void) const
Returns a unique class ID POLYMORPHICALLY.
AnnualTimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, DateTimeRule *dateTimeRule, int32_t startYear, int32_t endYear)
Constructs a AnnualTimeZoneRule with the name, the GMT offset of its standard time,...
static const int32_t MAX_YEAR
The constant representing the maximum year used for designating a rule is permanent.
AnnualTimeZoneRule & operator=(const AnnualTimeZoneRule &right)
Assignment operator.
virtual UBool operator!=(const TimeZoneRule &that) const
Return true if the given TimeZoneRule objects are semantically unequal.
virtual AnnualTimeZoneRule * clone() const
Clone this AnnualTimeZoneRule object polymorphically.
virtual UBool isEquivalentTo(const TimeZoneRule &that) const
Returns if this rule represents the same rule and offsets as another.
UBool getStartInYear(int32_t year, int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const
Gets the time when this rule takes effect in the given year.
const DateTimeRule * getRule(void) const
Gets the start date/time rule used by this rule.
AnnualTimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, const DateTimeRule &dateTimeRule, int32_t startYear, int32_t endYear)
Constructs a AnnualTimeZoneRule with the name, the GMT offset of its standard time,...
virtual UBool getFirstStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const
Gets the very first time when this rule takes effect.
int32_t getEndYear(void) const
Gets the end year when this rule takes effect.
int32_t getStartYear(void) const
Gets the first year when this rule takes effect.
virtual UBool getPreviousStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const
Gets the most recent time when this rule takes effect before the specified time.
static UClassID getStaticClassID(void)
Return the class ID for this class.
virtual UBool getFinalStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const
Gets the final time when this rule takes effect.
virtual UBool getNextStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const
Gets the first time when this rule takes effect after the specified time.
AnnualTimeZoneRule(const AnnualTimeZoneRule &source)
Copy constructor.
DateTimeRule is a class representing a time in a year by a rule specified by month,...
TimeRuleType
Time rule type constants.
InitialTimeZoneRule represents a time zone rule representing a time zone effective from the beginning...
InitialTimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings)
Constructs an InitialTimeZoneRule with the name, the GMT offset of its standard time and the amount o...
static UClassID getStaticClassID(void)
Return the class ID for this class.
virtual UBool getNextStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const
Gets the first time when this rule takes effect after the specified time.
virtual InitialTimeZoneRule * clone() const
Clone this InitialTimeZoneRule object polymorphically.
UBool getStartInYear(int32_t year, int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const
Gets the time when this rule takes effect in the given year.
virtual UBool operator!=(const TimeZoneRule &that) const
Return true if the given TimeZoneRule objects are semantically unequal.
virtual UBool isEquivalentTo(const TimeZoneRule &that) const
Returns if this rule represents the same rule and offsets as another.
virtual UBool getFinalStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const
Gets the final time when this rule takes effect.
InitialTimeZoneRule & operator=(const InitialTimeZoneRule &right)
Assignment operator.
InitialTimeZoneRule(const InitialTimeZoneRule &source)
Copy constructor.
virtual UBool getFirstStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const
Gets the very first time when this rule takes effect.
virtual ~InitialTimeZoneRule()
Destructor.
virtual UBool operator==(const TimeZoneRule &that) const
Return true if the given TimeZoneRule objects are semantically equal.
virtual UBool getPreviousStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const
Gets the most recent time when this rule takes effect before the specified time.
virtual UClassID getDynamicClassID(void) const
Returns a unique class ID POLYMORPHICALLY.
"Smart pointer" base class; do not use directly: use LocalPointer etc.
TimeArrayTimeZoneRule represents a time zone rule whose start times are defined by an array of millis...
virtual ~TimeArrayTimeZoneRule()
Destructor.
virtual UBool getPreviousStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const
Gets the most recent time when this rule takes effect before the specified time.
virtual UBool operator==(const TimeZoneRule &that) const
Return true if the given TimeZoneRule objects are semantically equal.
DateTimeRule::TimeRuleType getTimeType(void) const
Gets the time type of the start times used by this rule.
TimeArrayTimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, const UDate *startTimes, int32_t numStartTimes, DateTimeRule::TimeRuleType timeRuleType)
Constructs a TimeArrayTimeZoneRule with the name, the GMT offset of its standard time,...
virtual UBool getFinalStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const
Gets the final time when this rule takes effect.
UBool getStartTimeAt(int32_t index, UDate &result) const
Gets a start time at the index stored in this rule.
virtual TimeArrayTimeZoneRule * clone() const
Clone this TimeArrayTimeZoneRule object polymorphically.
virtual UBool isEquivalentTo(const TimeZoneRule &that) const
Returns if this rule represents the same rule and offsets as another.
static UClassID getStaticClassID(void)
Return the class ID for this class.
virtual UBool getFirstStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const
Gets the very first time when this rule takes effect.
virtual UBool operator!=(const TimeZoneRule &that) const
Return true if the given TimeZoneRule objects are semantically unequal.
TimeArrayTimeZoneRule & operator=(const TimeArrayTimeZoneRule &right)
Assignment operator.
virtual UBool getNextStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const
Gets the first time when this rule takes effect after the specified time.
TimeArrayTimeZoneRule(const TimeArrayTimeZoneRule &source)
Copy constructor.
int32_t countStartTimes(void) const
Returns the number of start times stored in this rule.
virtual UClassID getDynamicClassID(void) const
Returns a unique class ID POLYMORPHICALLY.
TimeZoneRule is a class representing a rule for time zone.
virtual UBool getFirstStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const =0
Gets the very first time when this rule takes effect.
TimeZoneRule(const UnicodeString &name, int32_t rawOffset, int32_t dstSavings)
Constructs a TimeZoneRule with the name, the GMT offset of its standard time and the amount of daylig...
virtual UBool getNextStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const =0
Gets the first time when this rule takes effect after the specified time.
virtual UBool operator==(const TimeZoneRule &that) const
Return true if the given TimeZoneRule objects are semantically equal.
int32_t getRawOffset(void) const
Gets the standard time offset.
virtual ~TimeZoneRule()
Destructor.
virtual UBool isEquivalentTo(const TimeZoneRule &other) const
Returns if this rule represents the same rule and offsets as another.
virtual UBool getPreviousStart(UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const =0
Gets the most recent time when this rule takes effect before the specified time.
int32_t getDSTSavings(void) const
Gets the amount of daylight saving delta time from the standard time.
TimeZoneRule & operator=(const TimeZoneRule &right)
Assignment operator.
virtual UBool getFinalStart(int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const =0
Gets the final time when this rule takes effect.
TimeZoneRule(const TimeZoneRule &source)
Copy constructor.
UnicodeString & getName(UnicodeString &name) const
Fills in "name" with the name of this time zone.
virtual TimeZoneRule * clone() const =0
Clone this TimeZoneRule object polymorphically.
virtual UBool operator!=(const TimeZoneRule &that) const
Return true if the given TimeZoneRule objects are semantically unequal.
UObject is the common ICU "boilerplate" class.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
C++ API: Rule for specifying date and time in an year.
int8_t UBool
The ICU boolean type, a signed-byte integer.
C++ API: Common ICU base class UObject.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
double UDate
Date and Time data type.