ICU 63.1 63.1

tztrans.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-2008, International Business Machines Corporation and *
6 * others. All Rights Reserved. *
7 *******************************************************************************
8 */
9 #ifndef TZTRANS_H
10 #define TZTRANS_H
11
17 #include "unicode/utypes.h"
18
19 #if !UCONFIG_NO_FORMATTING
20
21 #include "unicode/uobject.h"
22
23 U_NAMESPACE_BEGIN
24
25 // Forward declaration
26 class TimeZoneRule;
27
33 class U_I18N_API TimeZoneTransition : public UObject {
34 public:
44 TimeZoneTransition(UDate time, const TimeZoneRule& from, const TimeZoneRule& to);
45
50 TimeZoneTransition();
51
57 TimeZoneTransition(const TimeZoneTransition& source);
58
63 ~TimeZoneTransition();
64
71 TimeZoneTransition* clone(void) const;
72
78 TimeZoneTransition& operator=(const TimeZoneTransition& right);
79
87 UBool operator==(const TimeZoneTransition& that) const;
88
96 UBool operator!=(const TimeZoneTransition& that) const;
97
103 UDate getTime(void) const;
104
110 void setTime(UDate time);
111
117 const TimeZoneRule* getFrom(void) const;
118
125 void setFrom(const TimeZoneRule& from);
126
133 void adoptFrom(TimeZoneRule* from);
134
141 void setTo(const TimeZoneRule& to);
142
149 void adoptTo(TimeZoneRule* to);
150
156 const TimeZoneRule* getTo(void) const;
157
158 private:
159 UDate fTime;
160 TimeZoneRule* fFrom;
161 TimeZoneRule* fTo;
162
163 public:
175 static UClassID U_EXPORT2 getStaticClassID(void);
176
188 virtual UClassID getDynamicClassID(void) const;
189 };
190
191 U_NAMESPACE_END
192
193 #endif /* #if !UCONFIG_NO_FORMATTING */
194
195 #endif // TZTRANS_H
196
197 //eof
UDate
double UDate
Date and Time data type.
Definition: utypes.h:203
icu::operator==
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
UClassID
void * UClassID
UClassID is used to identify classes without using the compiler&#39;s RTTI.
Definition: uobject.h:90
U_I18N_API
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
Definition: utypes.h:301
icu::TimeZoneRule
TimeZoneRule is a class representing a rule for time zone.
Definition: tzrule.h:34
U_NAMESPACE_BEGIN
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:137
icu::operator!=
UBool operator!=(const StringPiece &x, const StringPiece &y)
Global operator != for StringPiece.
Definition: stringpiece.h:218
icu::TimeZoneTransition
TimeZoneTransition is a class representing a time zone transition.
Definition: tztrans.h:33
icu::UObject::getDynamicClassID
virtual UClassID getDynamicClassID() const
ICU4C "poor man&#39;s RTTI", returns a UClassID for the actual ICU class.
uobject.h
C++ API: Common ICU base class UObject.
U_NAMESPACE_END
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:138
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
icu::UObject
UObject is the common ICU "boilerplate" class.
Definition: uobject.h:220
UBool
int8_t UBool
The ICU boolean type.
Definition: umachine.h:225