| Index: icu46/source/i18n/tztrans.cpp
|
| ===================================================================
|
| --- icu46/source/i18n/tztrans.cpp (revision 0)
|
| +++ icu46/source/i18n/tztrans.cpp (revision 0)
|
| @@ -0,0 +1,146 @@
|
| +/*
|
| +*******************************************************************************
|
| +* Copyright (C) 2007-2010, International Business Machines Corporation and
|
| +* others. All Rights Reserved.
|
| +*******************************************************************************
|
| +*/
|
| +
|
| +#include <typeinfo> // 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;
|
| +}
|
| +
|
| +UBool
|
| +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;
|
| +}
|
| +
|
| +UBool
|
| +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
|
|
|
| Property changes on: icu46/source/i18n/tztrans.cpp
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|