1b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* 2b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru******************************************************************************* 383a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius* Copyright (C) 2007-2011, International Business Machines Corporation and 483a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius* others. All Rights Reserved. 5b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru******************************************************************************* 6b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru*/ 7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#ifndef BASICTZ_H 8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define BASICTZ_H 9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/** 11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * \file 12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * \brief C++ API: ICU TimeZone base class 13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/utypes.h" 16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#if !UCONFIG_NO_FORMATTING 18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 19b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/timezone.h" 20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/tzrule.h" 21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/tztrans.h" 22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruU_NAMESPACE_BEGIN 24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru// forward declarations 26b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruclass UVector; 27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/** 29b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * <code>BasicTimeZone</code> is an abstract class extending <code>TimeZone</code>. 30b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * This class provides some additional methods to access time zone transitions and rules. 31b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * All ICU <code>TimeZone</code> concrete subclasses extend this class. 3285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @stable ICU 3.8 33b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 34b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruclass U_I18N_API BasicTimeZone: public TimeZone { 35b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querupublic: 36b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 37b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Destructor. 3885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @stable ICU 3.8 39b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 40b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual ~BasicTimeZone(); 41b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 42b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 43b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Gets the first time zone transition after the base time. 44b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param base The base time. 45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param inclusive Whether the base time is inclusive or not. 46b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param result Receives the first transition after the base time. 47b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @return TRUE if the transition is found. 4885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @stable ICU 3.8 49b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 50b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual UBool getNextTransition(UDate base, UBool inclusive, TimeZoneTransition& result) /*const*/ = 0; 51b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 52b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Gets the most recent time zone transition before the base time. 54b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param base The base time. 55b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param inclusive Whether the base time is inclusive or not. 56b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param result Receives the most recent transition before the base time. 57b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @return TRUE if the transition is found. 5885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @stable ICU 3.8 59b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 60b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual UBool getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition& result) /*const*/ = 0; 61b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 62b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 63b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Checks if the time zone has equivalent transitions in the time range. 64b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * This method returns true when all of transition times, from/to standard 65b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * offsets and DST savings used by this time zone match the other in the 66b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * time range. 67b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param tz The <code>BasicTimeZone</code> object to be compared with. 68b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param start The start time of the evaluated time range (inclusive) 69b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param end The end time of the evaluated time range (inclusive) 70b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param ignoreDstAmount 71b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * When true, any transitions with only daylight saving amount 72b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * changes will be ignored, except either of them is zero. 73b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * For example, a transition from rawoffset 3:00/dstsavings 1:00 74b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * to rawoffset 2:00/dstsavings 2:00 is excluded from the comparison, 75b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * but a transtion from rawoffset 2:00/dstsavings 1:00 to 76b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * rawoffset 3:00/dstsavings 0:00 is included. 77b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param ec Output param to filled in with a success or an error. 78b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @return true if the other time zone has the equivalent transitions in the 79b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * time range. 8085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @stable ICU 3.8 81b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 82b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual UBool hasEquivalentTransitions(/*const*/ BasicTimeZone& tz, UDate start, UDate end, 83b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UBool ignoreDstAmount, UErrorCode& ec) /*const*/; 84b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 85b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 86b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Returns the number of <code>TimeZoneRule</code>s which represents time transitions, 87b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * for this time zone, that is, all <code>TimeZoneRule</code>s for this time zone except 88b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * <code>InitialTimeZoneRule</code>. The return value range is 0 or any positive value. 89b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param status Receives error status code. 90b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @return The number of <code>TimeZoneRule</code>s representing time transitions. 9185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @stable ICU 3.8 92b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 93b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual int32_t countTransitionRules(UErrorCode& status) /*const*/ = 0; 94b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 95b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 96b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Gets the <code>InitialTimeZoneRule</code> and the set of <code>TimeZoneRule</code> 97b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * which represent time transitions for this time zone. On successful return, 98b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * the argument initial points to non-NULL <code>InitialTimeZoneRule</code> and 99b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * the array trsrules is filled with 0 or multiple <code>TimeZoneRule</code> 100b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * instances up to the size specified by trscount. The results are referencing the 101b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * rule instance held by this time zone instance. Therefore, after this time zone 102b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * is destructed, they are no longer available. 103b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param initial Receives the initial timezone rule 104b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param trsrules Receives the timezone transition rules 105b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param trscount On input, specify the size of the array 'transitions' receiving 106b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * the timezone transition rules. On output, actual number of 107b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * rules filled in the array will be set. 108b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param status Receives error status code. 10985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @stable ICU 3.8 110b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 111b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void getTimeZoneRules(const InitialTimeZoneRule*& initial, 112b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru const TimeZoneRule* trsrules[], int32_t& trscount, UErrorCode& status) /*const*/ = 0; 113b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 114b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 115b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Gets the set of time zone rules valid at the specified time. Some known external time zone 116b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * implementations are not capable to handle historic time zone rule changes. Also some 117b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * implementations can only handle certain type of rule definitions. 118b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * If this time zone does not use any daylight saving time within about 1 year from the specified 119b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * time, only the <code>InitialTimeZone</code> is returned. Otherwise, the rule for standard 120b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * time and daylight saving time transitions are returned in addition to the 121b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * <code>InitialTimeZoneRule</code>. The standard and daylight saving time transition rules are 122b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * represented by <code>AnnualTimeZoneRule</code> with <code>DateTimeRule::DOW</code> for its date 123b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * rule and <code>DateTimeRule::WALL_TIME</code> for its time rule. Because daylight saving time 124b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * rule is changing time to time in many time zones and also mapping a transition time rule to 125b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * different type is lossy transformation, the set of rules returned by this method may be valid 126b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * for short period of time. 127b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * The time zone rule objects returned by this method is owned by the caller, so the caller is 128b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * responsible for deleting them after use. 129b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param date The date used for extracting time zone rules. 130b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param initial Receives the <code>InitialTimeZone</code>, always not NULL. 131b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param std Receives the <code>AnnualTimeZoneRule</code> for standard time transitions. 132b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * When this time time zone does not observe daylight saving times around the 133b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * specified date, NULL is set. 134b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param dst Receives the <code>AnnualTimeZoneRule</code> for daylight saving time 135b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * transitions. When this time zone does not observer daylight saving times 136b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * around the specified date, NULL is set. 137b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param status Receives error status code. 13885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @stable ICU 3.8 139b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 140b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void getSimpleRulesNear(UDate date, InitialTimeZoneRule*& initial, 141b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru AnnualTimeZoneRule*& std, AnnualTimeZoneRule*& dst, UErrorCode& status) /*const*/; 142b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 143b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 14483a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef U_HIDE_INTERNAL_API 145b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 146b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * The time type option bit flags used by getOffsetFromLocal 147b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @internal 148b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 149b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru enum { 150b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru kStandard = 0x01, 151b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru kDaylight = 0x03, 152b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru kFormer = 0x04, 153b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru kLatter = 0x0C 154b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru }; 15583a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#endif /* U_HIDE_INTERNAL_API */ 156b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 157b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 158b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Get time zone offsets from local wall time. 159b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @internal 160b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 161b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru virtual void getOffsetFromLocal(UDate date, int32_t nonExistingTimeOpt, int32_t duplicatedTimeOpt, 162b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru int32_t& rawOffset, int32_t& dstOffset, UErrorCode& status) /*const*/; 163b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 164b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruprotected: 165b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 16683a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef U_HIDE_INTERNAL_API 167b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 168b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * The time type option bit masks used by getOffsetFromLocal 169b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @internal 170b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 171b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru enum { 172b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru kStdDstMask = kDaylight, 173b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru kFormerLatterMask = kLatter 174b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru }; 17583a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#endif /* U_HIDE_INTERNAL_API */ 176b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 177b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 178b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Default constructor. 17985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @stable ICU 3.8 180b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 181b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru BasicTimeZone(); 182b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 183b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 184b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Construct a timezone with a given ID. 185b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param id a system time zone ID 18685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @stable ICU 3.8 187b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 188b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru BasicTimeZone(const UnicodeString &id); 189b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 190b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 191b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Copy constructor. 192b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param source the object to be copied. 19385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * @stable ICU 3.8 194b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 195b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru BasicTimeZone(const BasicTimeZone& source); 196b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 197b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** 198b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Gets the set of TimeZoneRule instances applicable to the specified time and after. 199b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param start The start date used for extracting time zone rules 200b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param initial Receives the InitialTimeZone, always not NULL 201b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param transitionRules Receives the transition rules, could be NULL 202b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param status Receives error status code 203b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 204b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void getTimeZoneRulesAfter(UDate start, InitialTimeZoneRule*& initial, UVector*& transitionRules, 205b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UErrorCode& status) /*const*/; 206b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru}; 207b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 208b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruU_NAMESPACE_END 209b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 210b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif /* #if !UCONFIG_NO_FORMATTING */ 211b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 212b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif // BASICTZ_H 213b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 214b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru//eof 215