17 #if !UCONFIG_NO_FORMATTING
79 int32_t getRawOffset(
void)
const;
87 int32_t getDSTSavings(
void)
const;
482 int32_t getStartYear(
void)
const;
490 int32_t getEndYear(
void)
const;
710 int32_t countStartTimes(
void)
const;
784 enum { TIMEARRAY_STACK_BUFFER_SIZE = 32 };
791 UDate fLocalStartTimes[TIMEARRAY_STACK_BUFFER_SIZE];
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.
virtual UBool operator!=(const TimeZoneRule &that) const
Return true if the given TimeZoneRule objects are semantically unequal.
C++ API: Rule for specifying date and time in an year.
double UDate
Date and Time data type.
virtual TimeZoneRule * clone(void) const =0
Clone this TimeZoneRule object 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.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
TimeRuleType
Time rule type constants.
InitialTimeZoneRule represents a time zone rule representing a time zone effective from the beginning...
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.
virtual UBool operator==(const TimeZoneRule &that) const
Return true if the given TimeZoneRule objects are semantically equal.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
C++ API: Common ICU base class UObject.
AnnualTimeZoneRule is a class used for representing a time zone rule which takes effect annually...
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API If the compiler doesn't support namespaces...
UObject is the common ICU "boilerplate" class.
TimeArrayTimeZoneRule represents a time zone rule whose start times are defined by an array of millis...
void * UClassID
UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ c...
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
virtual UBool isEquivalentTo(const TimeZoneRule &other) const
Returns if this rule represents the same rule and offsets as another.
Basic definitions for ICU, for both C and C++ APIs.
DateTimeRule is a class representing a time in a year by a rule specified by month, day of month, day of week and time in the day.
static const int32_t MAX_YEAR
The constant representing the maximum year used for designating a rule is permanent.
virtual UClassID getDynamicClassID() const =0
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.
signed int int32_t
Define 64 bit limits.
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.
int8_t UBool
The ICU boolean type.