ICU 73.2  73.2
tztrans.h
Go to the documentation of this file.
00001 // © 2016 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 /*
00004 *******************************************************************************
00005 * Copyright (C) 2007-2008, International Business Machines Corporation and         *
00006 * others. All Rights Reserved.                                                *
00007 *******************************************************************************
00008 */
00009 #ifndef TZTRANS_H
00010 #define TZTRANS_H
00011 
00017 #include "unicode/utypes.h"
00018 
00019 #if U_SHOW_CPLUSPLUS_API
00020 
00021 #if !UCONFIG_NO_FORMATTING
00022 
00023 #include "unicode/uobject.h"
00024 
00025 U_NAMESPACE_BEGIN
00026 
00027 // Forward declaration
00028 class TimeZoneRule;
00029 
00035 class U_I18N_API TimeZoneTransition : public UObject {
00036 public:
00046     TimeZoneTransition(UDate time, const TimeZoneRule& from, const TimeZoneRule& to);
00047 
00052     TimeZoneTransition();
00053 
00059     TimeZoneTransition(const TimeZoneTransition& source);
00060 
00065     ~TimeZoneTransition();
00066 
00073     TimeZoneTransition* clone() const;
00074 
00080     TimeZoneTransition& operator=(const TimeZoneTransition& right);
00081 
00089     bool operator==(const TimeZoneTransition& that) const;
00090 
00098     bool operator!=(const TimeZoneTransition& that) const;
00099 
00105     UDate getTime(void) const;
00106 
00112     void setTime(UDate time);
00113 
00119     const TimeZoneRule* getFrom(void) const;
00120 
00127     void setFrom(const TimeZoneRule& from);
00128 
00135     void adoptFrom(TimeZoneRule* from);
00136 
00143     void setTo(const TimeZoneRule& to);
00144 
00151     void adoptTo(TimeZoneRule* to);
00152 
00158     const TimeZoneRule* getTo(void) const;
00159 
00160 private:
00161     UDate   fTime;
00162     TimeZoneRule*   fFrom;
00163     TimeZoneRule*   fTo;
00164 
00165 public:
00177     static UClassID U_EXPORT2 getStaticClassID(void);
00178 
00190     virtual UClassID getDynamicClassID(void) const override;
00191 };
00192 
00193 U_NAMESPACE_END
00194 
00195 #endif /* #if !UCONFIG_NO_FORMATTING */
00196 
00197 #endif /* U_SHOW_CPLUSPLUS_API */
00198 
00199 #endif // TZTRANS_H
00200 
00201 //eof