ICU 72.1 72.1
|
TimeArrayTimeZoneRule
represents a time zone rule whose start times are defined by an array of milliseconds since the standard base time.
More...
#include <tzrule.h>
Public Member Functions | |
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, the amount of daylight saving offset adjustment and the array of times when this rule takes effect. More... | |
TimeArrayTimeZoneRule (const TimeArrayTimeZoneRule &source) | |
Copy constructor. More... | |
virtual | ~TimeArrayTimeZoneRule () |
Destructor. More... | |
virtual TimeArrayTimeZoneRule * | clone () const override |
Clone this TimeArrayTimeZoneRule object polymorphically. More... | |
TimeArrayTimeZoneRule & | operator= (const TimeArrayTimeZoneRule &right) |
Assignment operator. More... | |
virtual bool | operator== (const TimeZoneRule &that) const override |
Return true if the given TimeZoneRule objects are semantically equal. More... | |
virtual bool | operator!= (const TimeZoneRule &that) const override |
Return true if the given TimeZoneRule objects are semantically unequal. More... | |
DateTimeRule::TimeRuleType | getTimeType (void) const |
Gets the time type of the start times used by this rule. More... | |
UBool | getStartTimeAt (int32_t index, UDate &result) const |
Gets a start time at the index stored in this rule. More... | |
int32_t | countStartTimes (void) const |
Returns the number of start times stored in this rule. More... | |
virtual UBool | isEquivalentTo (const TimeZoneRule &that) const override |
Returns if this rule represents the same rule and offsets as another. More... | |
virtual UBool | getFirstStart (int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const override |
Gets the very first time when this rule takes effect. More... | |
virtual UBool | getFinalStart (int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const override |
Gets the final time when this rule takes effect. More... | |
virtual UBool | getNextStart (UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const override |
Gets the first time when this rule takes effect after the specified time. More... | |
virtual UBool | getPreviousStart (UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const override |
Gets the most recent time when this rule takes effect before the specified time. More... | |
virtual UClassID | getDynamicClassID (void) const override |
Returns a unique class ID POLYMORPHICALLY. More... | |
Public Member Functions inherited from icu::TimeZoneRule | |
virtual | ~TimeZoneRule () |
Destructor. More... | |
virtual TimeZoneRule * | clone () const =0 |
Clone this TimeZoneRule object polymorphically. More... | |
virtual bool | operator== (const TimeZoneRule &that) const |
Return true if the given TimeZoneRule objects are semantically equal. More... | |
virtual bool | operator!= (const TimeZoneRule &that) const |
Return true if the given TimeZoneRule objects are semantically unequal. More... | |
UnicodeString & | getName (UnicodeString &name) const |
Fills in "name" with the name of this time zone. More... | |
int32_t | getRawOffset (void) const |
Gets the standard time offset. More... | |
int32_t | getDSTSavings (void) const |
Gets the amount of daylight saving delta time from the standard time. More... | |
virtual UBool | isEquivalentTo (const TimeZoneRule &other) const |
Returns if this rule represents the same rule and offsets as another. More... | |
virtual UBool | getFirstStart (int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const =0 |
Gets the very first time when this rule takes effect. More... | |
virtual UBool | getFinalStart (int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const =0 |
Gets the final time when this rule takes effect. More... | |
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. More... | |
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. More... | |
Public Member Functions inherited from icu::UObject | |
virtual | ~UObject () |
Destructor. More... | |
virtual UClassID | getDynamicClassID () const |
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class. More... | |
Static Public Member Functions | |
static UClassID | getStaticClassID (void) |
Return the class ID for this class. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from icu::TimeZoneRule | |
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 daylight saving offset adjustment. More... | |
TimeZoneRule (const TimeZoneRule &source) | |
Copy constructor. More... | |
TimeZoneRule & | operator= (const TimeZoneRule &right) |
Assignment operator. More... | |
TimeArrayTimeZoneRule
represents a time zone rule whose start times are defined by an array of milliseconds since the standard base time.
icu::TimeArrayTimeZoneRule::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, the amount of daylight saving offset adjustment and the array of times when this rule takes effect.
name | The time zone name. |
rawOffset | The UTC offset of its standard time in milliseconds. |
dstSavings | The amount of daylight saving offset adjustment in milliseconds. If this ia a rule for standard time, the value of this argument is 0. |
startTimes | The array start times in milliseconds since the base time (January 1, 1970, 00:00:00). |
numStartTimes | The number of elements in the parameter "startTimes" |
timeRuleType | The time type of the start times, which is one of DataTimeRule::WALL_TIME , STANDARD_TIME and UTC_TIME . |
icu::TimeArrayTimeZoneRule::TimeArrayTimeZoneRule | ( | const TimeArrayTimeZoneRule & | source | ) |
|
virtual |
Destructor.
|
overridevirtual |
Clone this TimeArrayTimeZoneRule object polymorphically.
The caller owns the result and should delete it when done.
Implements icu::TimeZoneRule.
int32_t icu::TimeArrayTimeZoneRule::countStartTimes | ( | void | ) | const |
Returns the number of start times stored in this rule.
|
overridevirtual |
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.
Reimplemented from icu::UObject.
|
overridevirtual |
Gets the final time when this rule takes effect.
prevRawOffset | The standard time offset from UTC before this rule takes effect in milliseconds. |
prevDSTSavings | The amount of daylight saving offset from the standard time. |
result | Receives the final time when this rule takes effect. |
Implements icu::TimeZoneRule.
|
overridevirtual |
Gets the very first time when this rule takes effect.
prevRawOffset | The standard time offset from UTC before this rule takes effect in milliseconds. |
prevDSTSavings | The amount of daylight saving offset from the standard time. |
result | Receives the very first time when this rule takes effect. |
Implements icu::TimeZoneRule.
|
overridevirtual |
Gets the first time when this rule takes effect after the specified time.
base | The first start time after this base time will be returned. |
prevRawOffset | The standard time offset from UTC before this rule takes effect in milliseconds. |
prevDSTSavings | The amount of daylight saving offset from the standard time. |
inclusive | Whether the base time is inclusive or not. |
result | Receives The first time when this rule takes effect after the specified base time. |
Implements icu::TimeZoneRule.
|
overridevirtual |
Gets the most recent time when this rule takes effect before the specified time.
base | The most recent time before this base time will be returned. |
prevRawOffset | The standard time offset from UTC before this rule takes effect in milliseconds. |
prevDSTSavings | The amount of daylight saving offset from the standard time. |
inclusive | Whether the base time is inclusive or not. |
result | Receives The most recent time when this rule takes effect before the specified base time. |
Implements icu::TimeZoneRule.
Gets a start time at the index stored in this rule.
index | The index of start times |
result | Receives the start time at the index |
|
static |
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() == . erived::getStaticClassID()) ...
DateTimeRule::TimeRuleType icu::TimeArrayTimeZoneRule::getTimeType | ( | void | ) | const |
Gets the time type of the start times used by this rule.
The return value is either DateTimeRule::WALL_TIME
or STANDARD_TIME
or UTC_TIME
.
|
overridevirtual |
Returns if this rule represents the same rule and offsets as another.
When two TimeZoneRule
objects differ only its names, this method returns true.
that | The TimeZoneRule object to be compared with. |
TimeZoneRule
is equivalent to this one. Reimplemented from icu::TimeZoneRule.
|
overridevirtual |
Return true if the given TimeZoneRule
objects are semantically unequal.
Objects of different subclasses are considered unequal.
that | The object to be compared with. |
TimeZoneRule
objects are semantically unequal. Reimplemented from icu::TimeZoneRule.
TimeArrayTimeZoneRule & icu::TimeArrayTimeZoneRule::operator= | ( | const TimeArrayTimeZoneRule & | right | ) |
|
overridevirtual |
Return true if the given TimeZoneRule
objects are semantically equal.
Objects of different subclasses are considered unequal.
that | The object to be compared with. |
TimeZoneRule
objects are semantically equal. Reimplemented from icu::TimeZoneRule.