Changeset 1328 for XIOS/dev/branch_openmp/src/attribute_enum_impl.hpp
- Timestamp:
- 11/15/17 12:14:34 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/src/attribute_enum_impl.hpp
r1134 r1328 10 10 namespace xios 11 11 { 12 /// ////////////////////// D éfinitions ////////////////////// ///12 /// ////////////////////// Définitions ////////////////////// /// 13 13 template <class T> 14 14 CAttributeEnum<T>::CAttributeEnum(const StdString & id) … … 30 30 umap.insert(umap.end(), std::make_pair(id, this)); 31 31 } 32 32 33 33 template <class T> 34 34 CAttributeEnum<T>::CAttributeEnum … … 40 40 umap.insert(umap.end(), std::make_pair(id, this)); 41 41 } 42 42 43 43 ///-------------------------------------------------------------- 44 44 template <class T> … … 54 54 return CEnum<T>::get(); 55 55 } 56 56 57 57 template <class T> 58 58 string CAttributeEnum<T>::getStringValue(void) const 59 59 { 60 return CEnum<T>::toString(); 61 } 62 60 return CEnum<T>::toString(); 61 } 63 62 64 63 template <class T> … … 71 70 void CAttributeEnum<T>::set(const CAttribute& attr) 72 71 { 73 74 } 75 76 72 this->set(dynamic_cast<const CAttributeEnum<T>& >(attr)); 73 } 74 75 template <class T> 77 76 void CAttributeEnum<T>::set(const CAttributeEnum& attr) 78 77 { 79 80 } 81 78 CEnum<T>::set(attr); 79 } 80 82 81 template <class T> 83 82 void CAttributeEnum<T>::setInheritedValue(const CAttribute& attr) 84 83 { 85 86 } 87 84 this->setInheritedValue(dynamic_cast<const CAttributeEnum<T>& >(attr)); 85 } 86 88 87 template <class T> 89 88 void CAttributeEnum<T>::setInheritedValue(const CAttributeEnum& attr) 90 89 { 91 92 } 93 90 if (this->isEmpty() && _canInherite && attr.hasInheritedValue()) inheritedValue.set(attr.getInheritedValue()); 91 } 92 94 93 template <class T> 95 94 typename T::t_enum CAttributeEnum<T>::getInheritedValue(void) const 96 95 { 97 98 99 } 100 101 template <class T> 102 103 104 105 106 107 108 template <class T> 109 110 111 112 113 114 template <class T> 115 116 117 118 119 120 template <class T> 121 122 123 124 96 if (this->isEmpty()) return inheritedValue.get(); 97 else return getValue(); 98 } 99 100 template <class T> 101 string CAttributeEnum<T>::getInheritedStringValue(void) const 102 { 103 if (this->isEmpty()) return inheritedValue.toString(); 104 else return CEnum<T>::toString();; 105 } 106 107 template <class T> 108 bool CAttributeEnum<T>::hasInheritedValue(void) const 109 { 110 return !this->isEmpty() || !inheritedValue.isEmpty(); 111 } 112 113 template <class T> 114 bool CAttributeEnum<T>::isEqual(const CAttribute& attr) 115 { 116 return (this->isEqual(dynamic_cast<const CAttributeEnum<T>& >(attr))); 117 } 118 119 template <class T> 120 bool CAttributeEnum<T>::isEqual(const CAttributeEnum& attr) 121 { 122 return ((dynamic_cast<const CEnum<T>& >(*this)) == (dynamic_cast<const CEnum<T>& >(attr))); 123 } 125 124 126 125 //--------------------------------------------------------------- 127 126 128 127 template <class T> 129 130 131 132 133 128 CAttributeEnum<T>& CAttributeEnum<T>::operator=(const T_enum & value) 129 { 130 this->setValue(value); 131 return *this; 132 } 134 133 135 134 //--------------------------------------------------------------- 136 135 137 136 template <class T> 138 139 140 141 142 143 144 145 146 template <class T> 147 148 149 150 151 152 template <class T> 153 154 155 156 157 158 template <class T> 159 160 161 162 163 164 template <typename T> 165 166 167 168 169 170 template <typename T> 171 172 173 174 175 176 template <typename T> 177 178 179 180 181 182 template <typename T> 183 184 185 186 187 188 template <typename T> 189 190 191 192 193 194 template <typename T> 195 196 197 198 199 200 template <typename T> 201 202 203 204 205 206 template <typename T> 207 208 209 210 137 StdString CAttributeEnum<T>::_toString(void) const 138 { 139 StdOStringStream oss; 140 if (!CEnum<T>::isEmpty() && this->hasId()) 141 oss << this->getName() << "=\"" << CEnum<T>::toString() << "\""; 142 return (oss.str()); 143 } 144 145 template <class T> 146 void CAttributeEnum<T>::_fromString(const StdString & str) 147 { 148 CEnum<T>::fromString(str); 149 } 150 151 template <class T> 152 bool CAttributeEnum<T>::_toBuffer (CBufferOut& buffer) const 153 { 154 return CEnum<T>::toBuffer(buffer); 155 } 156 157 template <class T> 158 bool CAttributeEnum<T>::_fromBuffer(CBufferIn& buffer) 159 { 160 return CEnum<T>::fromBuffer(buffer); 161 } 162 163 template <typename T> 164 void CAttributeEnum<T>::generateCInterface(ostream& oss,const string& className) 165 { 166 CInterface::AttributeCInterface<CEnumBase>(oss, className, this->getName()); 167 } 168 169 template <typename T> 170 void CAttributeEnum<T>::generateFortran2003Interface(ostream& oss,const string& className) 171 { 172 CInterface::AttributeFortran2003Interface<string>(oss, className, this->getName()); 173 } 174 175 template <typename T> 176 void CAttributeEnum<T>::generateFortranInterfaceDeclaration_(ostream& oss,const string& className) 177 { 178 CInterface::AttributeFortranInterfaceDeclaration<string>(oss, className, this->getName()+"_"); 179 } 180 181 template <typename T> 182 void CAttributeEnum<T>::generateFortranInterfaceBody_(ostream& oss,const string& className) 183 { 184 CInterface::AttributeFortranInterfaceBody<string>(oss, className, this->getName()); 185 } 186 187 template <typename T> 188 void CAttributeEnum<T>::generateFortranInterfaceDeclaration(ostream& oss,const string& className) 189 { 190 CInterface::AttributeFortranInterfaceDeclaration<string>(oss, className, this->getName()); 191 } 192 193 template <typename T> 194 void CAttributeEnum<T>::generateFortranInterfaceGetDeclaration_(ostream& oss,const string& className) 195 { 196 CInterface::AttributeFortranInterfaceGetDeclaration<string>(oss, className, this->getName()+"_"); 197 } 198 199 template <typename T> 200 void CAttributeEnum<T>::generateFortranInterfaceGetBody_(ostream& oss,const string& className) 201 { 202 CInterface::AttributeFortranInterfaceGetBody<string>(oss, className, this->getName()); 203 } 204 205 template <typename T> 206 void CAttributeEnum<T>::generateFortranInterfaceGetDeclaration(ostream& oss,const string& className) 207 { 208 CInterface::AttributeFortranInterfaceGetDeclaration<string>(oss, className, this->getName()); 209 } 211 210 } // namespace xios 212 211 213 212 #endif // __XIOS_ATTRIBUTE_ENUM_IMPL_HPP__ 214
Note: See TracChangeset
for help on using the changeset viewer.