Changeset 1328 for XIOS/dev/branch_openmp/src/attribute_enum.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.hpp
r1134 r1328 14 14 namespace xios 15 15 { 16 /// ////////////////////// Déclarations ////////////////////// ///17 /*!18 \class CAttributeEnum19 This class implements the attribute representing enumeration16 /// ////////////////////// Déclarations ////////////////////// /// 17 /*! 18 \class CAttributeEnum 19 This class implements the attribute representing enumeration 20 20 */ 21 template <class T>22 class CAttributeEnum : public CAttribute, public CEnum<T>23 {21 template <class T> 22 class CAttributeEnum : public CAttribute, public CEnum<T> 23 { 24 24 typedef typename T::t_enum T_enum ; 25 25 public : 26 26 27 /// Constructeurs ///28 explicit CAttributeEnum(const StdString & id);29 CAttributeEnum(const StdString & id,30 xios_map<StdString, CAttribute*> & umap);31 CAttributeEnum(const StdString & id, const T_enum & value);32 CAttributeEnum(const StdString & id, const T_enum & value,33 xios_map<StdString, CAttribute*> & umap);27 /// Constructeurs /// 28 explicit CAttributeEnum(const StdString & id); 29 CAttributeEnum(const StdString & id, 30 xios_map<StdString, CAttribute*> & umap); 31 CAttributeEnum(const StdString & id, const T_enum & value); 32 CAttributeEnum(const StdString & id, const T_enum & value, 33 xios_map<StdString, CAttribute*> & umap); 34 34 35 /// Accesseur ///36 T_enum getValue(void) const;37 string getStringValue(void) const;35 /// Accesseur /// 36 T_enum getValue(void) const; 37 string getStringValue(void) const; 38 38 39 39 40 /// Mutateurs /// 41 void setValue(const T_enum & value); 40 /// Mutateurs /// 41 void setValue(const T_enum & value); 42 43 void set(const CAttribute& attr) ; 44 void set(const CAttributeEnum& attr) ; 45 void reset(void); 46 47 void setInheritedValue(const CAttributeEnum& attr ); 48 void setInheritedValue(const CAttribute& attr ); 49 T_enum getInheritedValue(void) const; 50 string getInheritedStringValue(void) const; 51 bool hasInheritedValue(void) const; 52 53 bool isEqual(const CAttributeEnum& attr ); 54 bool isEqual(const CAttribute& attr ); 42 55 43 void set(const CAttribute& attr) ; 44 void set(const CAttributeEnum& attr) ; 45 void reset(void); 56 /// Destructeur /// 57 virtual ~CAttributeEnum(void) { } 46 58 47 void setInheritedValue(const CAttributeEnum& attr ); 48 void setInheritedValue(const CAttribute& attr ); 49 T_enum getInheritedValue(void) const; 50 string getInheritedStringValue(void) const; 51 bool hasInheritedValue(void) const; 59 /// Operateur /// 60 CAttributeEnum& operator=(const T_enum & value); 52 61 53 bool isEqual(const CAttributeEnum& attr ); 54 bool isEqual(const CAttribute& attr ); 62 /// Autre /// 63 virtual StdString toString(void) const { return _toString();} 64 virtual void fromString(const StdString & str) { if (str==resetInheritanceStr) { reset(); _canInherite=false ;} else _fromString(str);} 55 65 56 /// Destructeur /// 57 virtual ~CAttributeEnum(void) { } 66 virtual bool toBuffer (CBufferOut& buffer) const { return _toBuffer(buffer);} 67 virtual bool fromBuffer(CBufferIn& buffer) { return _fromBuffer(buffer); } 68 69 virtual void generateCInterface(ostream& oss,const string& className) ; 70 virtual void generateFortran2003Interface(ostream& oss,const string& className) ; 71 virtual void generateFortranInterfaceDeclaration_(ostream& oss,const string& className) ; 72 virtual void generateFortranInterfaceBody_(ostream& oss,const string& className) ; 73 virtual void generateFortranInterfaceDeclaration(ostream& oss,const string& className) ; 74 virtual void generateFortranInterfaceGetDeclaration_(ostream& oss,const string& className) ; 75 virtual void generateFortranInterfaceGetBody_(ostream& oss,const string& className) ; 76 virtual void generateFortranInterfaceGetDeclaration(ostream& oss,const string& className) ; 58 77 59 /// Operateur /// 60 CAttributeEnum& operator=(const T_enum & value); 61 62 /// Autre /// 63 virtual StdString toString(void) const { return _toString();} 64 virtual void fromString(const StdString & str) { if (str==resetInheritanceStr) { reset(); _canInherite=false ;} else _fromString(str);} 65 66 virtual bool toBuffer (CBufferOut& buffer) const { return _toBuffer(buffer);} 67 virtual bool fromBuffer(CBufferIn& buffer) { return _fromBuffer(buffer); } 68 69 virtual void generateCInterface(ostream& oss,const string& className) ; 70 virtual void generateFortran2003Interface(ostream& oss,const string& className) ; 71 virtual void generateFortranInterfaceDeclaration_(ostream& oss,const string& className) ; 72 virtual void generateFortranInterfaceBody_(ostream& oss,const string& className) ; 73 virtual void generateFortranInterfaceDeclaration(ostream& oss,const string& className) ; 74 virtual void generateFortranInterfaceGetDeclaration_(ostream& oss,const string& className) ; 75 virtual void generateFortranInterfaceGetBody_(ostream& oss,const string& className) ; 76 virtual void generateFortranInterfaceGetDeclaration(ostream& oss,const string& className) ; 77 78 private : 79 StdString _toString(void) const; 80 void _fromString(const StdString & str); 81 bool _toBuffer (CBufferOut& buffer) const; 82 bool _fromBuffer(CBufferIn& buffer) ; 83 CEnum<T> inheritedValue ; 84 }; // class CAttributeEnum 85 78 private : 79 StdString _toString(void) const; 80 void _fromString(const StdString & str); 81 bool _toBuffer (CBufferOut& buffer) const; 82 bool _fromBuffer(CBufferIn& buffer) ; 83 CEnum<T> inheritedValue ; 84 }; // class CAttributeEnum 85 86 86 } // namespace xios 87 87 88 88 #endif // __XIOS_ATTRIBUTE_ENUM__ 89
Note: See TracChangeset
for help on using the changeset viewer.