LCOV - code coverage report
Current view: top level - intl/icu/source/i18n - tztrans.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 72 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 19 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       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-2012, International Business Machines Corporation and
       6             : * others. All Rights Reserved.
       7             : *******************************************************************************
       8             : */
       9             : 
      10             : #include "utypeinfo.h"  // for 'typeid' to work
      11             : 
      12             : #include "unicode/utypes.h"
      13             : 
      14             : #if !UCONFIG_NO_FORMATTING
      15             : 
      16             : #include "unicode/tzrule.h"
      17             : #include "unicode/tztrans.h"
      18             : 
      19             : U_NAMESPACE_BEGIN
      20             : 
      21           0 : UOBJECT_DEFINE_RTTI_IMPLEMENTATION(TimeZoneTransition)
      22             : 
      23           0 : TimeZoneTransition::TimeZoneTransition(UDate time, const TimeZoneRule& from, const TimeZoneRule& to)
      24           0 : : UObject(), fTime(time), fFrom(from.clone()), fTo(to.clone()) {
      25           0 : }
      26             : 
      27           0 : TimeZoneTransition::TimeZoneTransition()
      28           0 : : UObject(), fTime(0), fFrom(NULL), fTo(NULL) {
      29           0 : }
      30             : 
      31           0 : TimeZoneTransition::TimeZoneTransition(const TimeZoneTransition& source)
      32           0 : : UObject(), fTime(source.fTime), fFrom(NULL), fTo(NULL) {
      33           0 :       if (source.fFrom != NULL) {
      34           0 :           fFrom = source.fFrom->clone();
      35             :       }
      36             : 
      37           0 :       if (source.fTo != NULL) {
      38           0 :           fTo = source.fTo->clone();
      39             :       }
      40           0 : }
      41             : 
      42           0 : TimeZoneTransition::~TimeZoneTransition() {
      43           0 :     if (fFrom != NULL) {
      44           0 :         delete fFrom;
      45             :     }
      46           0 :     if (fTo != NULL) {
      47           0 :         delete fTo;
      48             :     }
      49           0 : }
      50             : 
      51             : TimeZoneTransition*
      52           0 : TimeZoneTransition::clone(void) const {
      53           0 :     return new TimeZoneTransition(*this);
      54             : }
      55             : 
      56             : TimeZoneTransition&
      57           0 : TimeZoneTransition::operator=(const TimeZoneTransition& right) {
      58           0 :     if (this != &right) {
      59           0 :         fTime = right.fTime;
      60           0 :         setFrom(*right.fFrom);
      61           0 :         setTo(*right.fTo);
      62             :     }
      63           0 :     return *this;
      64             : }
      65             : 
      66             : UBool
      67           0 : TimeZoneTransition::operator==(const TimeZoneTransition& that) const {
      68           0 :     if (this == &that) {
      69           0 :         return TRUE;
      70             :     }
      71           0 :     if (typeid(*this) != typeid(that)) {
      72           0 :         return FALSE;
      73             :     }
      74           0 :     if (fTime != that.fTime) {
      75           0 :         return FALSE;
      76             :     }
      77           0 :     if ((fFrom == NULL && that.fFrom == NULL)
      78           0 :         || (fFrom != NULL && that.fFrom != NULL && *fFrom == *(that.fFrom))) {
      79           0 :         if ((fTo == NULL && that.fTo == NULL)
      80           0 :             || (fTo != NULL && that.fTo != NULL && *fTo == *(that.fTo))) {
      81           0 :             return TRUE;
      82             :         }
      83             :     }
      84           0 :     return FALSE;
      85             : }
      86             : 
      87             : UBool
      88           0 : TimeZoneTransition::operator!=(const TimeZoneTransition& that) const {
      89           0 :     return !operator==(that);
      90             : }
      91             : 
      92             : void
      93           0 : TimeZoneTransition::setTime(UDate time) {
      94           0 :     fTime = time;
      95           0 : }
      96             : 
      97             : void
      98           0 : TimeZoneTransition::setFrom(const TimeZoneRule& from) {
      99           0 :     if (fFrom != NULL) {
     100           0 :         delete fFrom;
     101             :     }
     102           0 :     fFrom = from.clone();
     103           0 : }
     104             : 
     105             : void
     106           0 : TimeZoneTransition::adoptFrom(TimeZoneRule* from) {
     107           0 :     if (fFrom != NULL) {
     108           0 :         delete fFrom;
     109             :     }
     110           0 :     fFrom = from;
     111           0 : }
     112             : 
     113             : void
     114           0 : TimeZoneTransition::setTo(const TimeZoneRule& to) {
     115           0 :     if (fTo != NULL) {
     116           0 :         delete fTo;
     117             :     }
     118           0 :     fTo = to.clone();
     119           0 : }
     120             : 
     121             : void
     122           0 : TimeZoneTransition::adoptTo(TimeZoneRule* to) {
     123           0 :     if (fTo != NULL) {
     124           0 :         delete fTo;
     125             :     }
     126           0 :     fTo = to;
     127           0 : }
     128             : 
     129             : UDate
     130           0 : TimeZoneTransition::getTime(void) const {
     131           0 :     return fTime;
     132             : }
     133             : 
     134             : const TimeZoneRule*
     135           0 : TimeZoneTransition::getTo(void) const {
     136           0 :     return fTo;
     137             : }
     138             : 
     139             : const TimeZoneRule*
     140           0 : TimeZoneTransition::getFrom(void) const {
     141           0 :     return fFrom;
     142             : }
     143             : 
     144             : U_NAMESPACE_END
     145             : 
     146             : #endif
     147             : 
     148             : //eof

Generated by: LCOV version 1.13