"Fossies" - the Fresh Open Source Software Archive

Member "basictz_8h_source.html" (3 Oct 2019, 22698 Bytes) of package /linux/misc/icu4c-65_1-docs.zip:


Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the project site itself.

ICU 65.1  65.1
basictz.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *******************************************************************************
5 * Copyright (C) 2007-2013, International Business Machines Corporation and
6 * others. All Rights Reserved.
7 *******************************************************************************
8 */
9 #ifndef BASICTZ_H
10 #define BASICTZ_H
11 
17 #include "unicode/utypes.h"
18 
19 #if U_SHOW_CPLUSPLUS_API
20 
21 #if !UCONFIG_NO_FORMATTING
22 
23 #include "unicode/timezone.h"
24 #include "unicode/tzrule.h"
25 #include "unicode/tztrans.h"
26 
27 U_NAMESPACE_BEGIN
28 
29 // forward declarations
30 class UVector;
31 
39 public:
44  virtual ~BasicTimeZone();
45 
52  virtual BasicTimeZone* clone() const = 0;
53 
62  virtual UBool getNextTransition(UDate base, UBool inclusive, TimeZoneTransition& result) const = 0;
63 
72  virtual UBool getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition& result) const = 0;
73 
94  virtual UBool hasEquivalentTransitions(const BasicTimeZone& tz, UDate start, UDate end,
95  UBool ignoreDstAmount, UErrorCode& ec) const;
96 
105  virtual int32_t countTransitionRules(UErrorCode& status) const = 0;
106 
123  virtual void getTimeZoneRules(const InitialTimeZoneRule*& initial,
124  const TimeZoneRule* trsrules[], int32_t& trscount, UErrorCode& status) const = 0;
125 
152  virtual void getSimpleRulesNear(UDate date, InitialTimeZoneRule*& initial,
153  AnnualTimeZoneRule*& std, AnnualTimeZoneRule*& dst, UErrorCode& status) const;
154 
155 
156 #ifndef U_HIDE_INTERNAL_API
157 
161  enum {
162  kStandard = 0x01,
163  kDaylight = 0x03,
164  kFormer = 0x04,
165  kLatter = 0x0C
166  };
167 #endif /* U_HIDE_INTERNAL_API */
168 
173  virtual void getOffsetFromLocal(UDate date, int32_t nonExistingTimeOpt, int32_t duplicatedTimeOpt,
174  int32_t& rawOffset, int32_t& dstOffset, UErrorCode& status) const;
175 
176 protected:
177 
178 #ifndef U_HIDE_INTERNAL_API
179 
183  enum {
184  kStdDstMask = kDaylight,
185  kFormerLatterMask = kLatter
186  };
187 #endif /* U_HIDE_INTERNAL_API */
188 
193  BasicTimeZone();
194 
200  BasicTimeZone(const UnicodeString &id);
201 
207  BasicTimeZone(const BasicTimeZone& source);
208 
216  void getTimeZoneRulesAfter(UDate start, InitialTimeZoneRule*& initial, UVector*& transitionRules,
217  UErrorCode& status) const;
218 };
219 
220 U_NAMESPACE_END
221 
222 #endif /* #if !UCONFIG_NO_FORMATTING */
223 
224 #endif /* U_SHOW_CPLUSPLUS_API */
225 
226 #endif // BASICTZ_H
227 
228 //eof
C++ API: TimeZone object.
double UDate
Date and Time data type.
Definition: utypes.h:203
TimeZone represents a time zone offset, and also figures out daylight savings.
Definition: timezone.h:133
C++ API: Time zone transition.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
Definition: utypes.h:301
TimeZoneRule is a class representing a rule for time zone.
Definition: tzrule.h:36
InitialTimeZoneRule represents a time zone rule representing a time zone effective from the beginning...
Definition: tzrule.h:202
virtual TimeZone * clone() const =0
Clones TimeZone objects polymorphically.
TimeZoneTransition is a class representing a time zone transition.
Definition: tztrans.h:35
C++ API: Time zone rule classes.
BasicTimeZone is an abstract class extending TimeZone.
Definition: basictz.h:38
AnnualTimeZoneRule is a class used for representing a time zone rule which takes effect annually...
Definition: tzrule.h:380
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
Basic definitions for ICU, for both C and C++ APIs.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:294
int8_t UBool
The ICU boolean type.
Definition: umachine.h:261