%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ******************************************************************************* * Copyright (C) 2007-2012, International Business Machines Corporation and * others. All Rights Reserved. ******************************************************************************* */ #include "utypeinfo.h" // for 'typeid' to work #include "unicode/utypes.h" #if !UCONFIG_NO_FORMATTING #include "unicode/tzrule.h" #include "unicode/tztrans.h" U_NAMESPACE_BEGIN UOBJECT_DEFINE_RTTI_IMPLEMENTATION(TimeZoneTransition) TimeZoneTransition::TimeZoneTransition(UDate time, const TimeZoneRule& from, const TimeZoneRule& to) : UObject(), fTime(time), fFrom(from.clone()), fTo(to.clone()) { } TimeZoneTransition::TimeZoneTransition() : UObject(), fTime(0), fFrom(NULL), fTo(NULL) { } TimeZoneTransition::TimeZoneTransition(const TimeZoneTransition& source) : UObject(), fTime(source.fTime), fFrom(NULL), fTo(NULL) { if (source.fFrom != NULL) { fFrom = source.fFrom->clone(); } if (source.fTo != NULL) { fTo = source.fTo->clone(); } } TimeZoneTransition::~TimeZoneTransition() { if (fFrom != NULL) { delete fFrom; } if (fTo != NULL) { delete fTo; } } TimeZoneTransition* TimeZoneTransition::clone(void) const { return new TimeZoneTransition(*this); } TimeZoneTransition& TimeZoneTransition::operator=(const TimeZoneTransition& right) { if (this != &right) { fTime = right.fTime; setFrom(*right.fFrom); setTo(*right.fTo); } return *this; } bool TimeZoneTransition::operator==(const TimeZoneTransition& that) const { if (this == &that) { return true; } if (typeid(*this) != typeid(that)) { return false; } if (fTime != that.fTime) { return false; } if ((fFrom == NULL && that.fFrom == NULL) || (fFrom != NULL && that.fFrom != NULL && *fFrom == *(that.fFrom))) { if ((fTo == NULL && that.fTo == NULL) || (fTo != NULL && that.fTo != NULL && *fTo == *(that.fTo))) { return true; } } return false; } bool TimeZoneTransition::operator!=(const TimeZoneTransition& that) const { return !operator==(that); } void TimeZoneTransition::setTime(UDate time) { fTime = time; } void TimeZoneTransition::setFrom(const TimeZoneRule& from) { if (fFrom != NULL) { delete fFrom; } fFrom = from.clone(); } void TimeZoneTransition::adoptFrom(TimeZoneRule* from) { if (fFrom != NULL) { delete fFrom; } fFrom = from; } void TimeZoneTransition::setTo(const TimeZoneRule& to) { if (fTo != NULL) { delete fTo; } fTo = to.clone(); } void TimeZoneTransition::adoptTo(TimeZoneRule* to) { if (fTo != NULL) { delete fTo; } fTo = to; } UDate TimeZoneTransition::getTime(void) const { return fTime; } const TimeZoneRule* TimeZoneTransition::getTo(void) const { return fTo; } const TimeZoneRule* TimeZoneTransition::getFrom(void) const { return fFrom; } U_NAMESPACE_END #endif //eof