XIOS  1.0
Xml I/O Server
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Amis Macros
attribute_enum.hpp
Aller à la documentation de ce fichier.
1 #ifndef __XIOS_ATTRIBUTE_ENUM__
2 #define __XIOS_ATTRIBUTE_ENUM__
3 
5 #include "xios_spl.hpp"
6 #include "exception.hpp"
7 #include "attribute.hpp"
8 #include "buffer_in.hpp"
9 #include "buffer_out.hpp"
10 #include "type.hpp"
11 #include "enum.hpp"
12 
13 
14 namespace xios
15 {
17 
21  template <class T>
22  class CAttributeEnum : public CAttribute, public CEnum<T>
23  {
24  typedef typename T::t_enum T_enum ;
25  public :
26 
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 
36  T_enum getValue(void) const;
37  string getStringValue(void) const;
38 
39 
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 CAttribute& attr );
54 
56  virtual ~CAttributeEnum(void) { }
57 
59  CAttributeEnum& operator=(const T_enum & value);
60 
62  virtual StdString toString(void) const { return _toString();}
63  virtual void fromString(const StdString & str) { if (str==resetInheritanceStr) { reset(); _canInherite=false ;} else _fromString(str);}
64  virtual StdString dump(void) const { return _toString();}
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  bool isEqual_(const CAttributeEnum& attr );
80  StdString _toString(void) const;
81  void _fromString(const StdString & str);
82  bool _toBuffer (CBufferOut& buffer) const;
83  bool _fromBuffer(CBufferIn& buffer) ;
85  }; // class CAttributeEnum
86 
87 } // namespace xios
88 
89 #endif // __XIOS_ATTRIBUTE_ENUM__
T_enum getInheritedValue(void) const
void _fromString(const StdString &str)
bool _fromBuffer(CBufferIn &buffer)
////////////////////// Declarations ////////////////////// ///
void setValue(const T_enum &value)
Mutateurs ///.
CAttributeEnum(const StdString &id)
Constructeurs ///.
string getInheritedStringValue(void) const
virtual void generateCInterface(ostream &oss, const string &className)
virtual void generateFortranInterfaceGetDeclaration_(ostream &oss, const string &className)
static const StdString resetInheritanceStr
Definition: attribute.hpp:75
virtual bool toBuffer(CBufferOut &buffer) const
bool _toBuffer(CBufferOut &buffer) const
std::string StdString
Definition: xios_spl.hpp:48
#define xios(arg)
virtual void generateFortranInterfaceDeclaration(ostream &oss, const string &className)
virtual void generateFortran2003Interface(ostream &oss, const string &className)
virtual StdString dump(void) const
virtual void fromString(const StdString &str)
virtual void generateFortranInterfaceBody_(ostream &oss, const string &className)
virtual bool fromBuffer(CBufferIn &buffer)
void set(const CAttribute &attr)
StdString _toString(void) const
virtual ~CAttributeEnum(void)
Destructeur ///.
bool hasInheritedValue(void) const
virtual void generateFortranInterfaceGetBody_(ostream &oss, const string &className)
bool isEqual_(const CAttributeEnum &attr)
virtual StdString toString(void) const
Autre ///.
virtual void generateFortranInterfaceGetDeclaration(ostream &oss, const string &className)
void setInheritedValue(const CAttributeEnum &attr)
string getStringValue(void) const
bool isEqual(const CAttribute &attr)
////////////////////// Déclarations ////////////////////// ///
Definition: attribute.hpp:23
CAttributeEnum & operator=(const T_enum &value)
Operateur ///.
T_enum getValue(void) const
Accesseur ///.
virtual void generateFortranInterfaceDeclaration_(ostream &oss, const string &className)