Ignore:
Timestamp:
04/25/17 10:57:48 (7 years ago)
Author:
mhnguyen
Message:

Adding comparison operator between objects of XIOS.
Two objects of a same type are considered equal if they have same non-empty
attributes which have same values

+) Add operator== to class CArray
+) Add comparison operator to some basic attribute classes
+) Add operator== to date and duration (It seems that they don't serve much)

Test
+) On Curie
+) No Unit tests but test with transformation work (the next commit)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/attribute_template_impl.hpp

    r1028 r1105  
    139139    { 
    140140      return !this->isEmpty() || !inheritedValue.isEmpty() ; 
     141    } 
     142 
     143    template <class T> 
     144    bool CAttributeTemplate<T>::isEqual(const CAttribute& attr) 
     145    { 
     146      const CAttributeTemplate<T>& tmp = dynamic_cast<const CAttributeTemplate<T>& >(attr); 
     147      this->isEqual(tmp); 
     148 
     149    } 
     150 
     151    template <class T> 
     152    bool CAttributeTemplate<T>::isEqual(const CAttributeTemplate& attr) 
     153    { 
     154      if ((!this->hasInheritedValue() && !attr.hasInheritedValue())) 
     155          return true; 
     156      if (this->hasInheritedValue() && attr.hasInheritedValue()) 
     157          return (this->getInheritedValue() == attr.getInheritedValue()); 
     158      else  
     159        return false; 
    141160    } 
    142161 
Note: See TracChangeset for help on using the changeset viewer.