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_map.hpp
Aller à la documentation de ce fichier.
1 #ifndef __XIOS_CAttributeMap__
2 #define __XIOS_CAttributeMap__
3 
5 #include "xios_spl.hpp"
6 #include "attribute.hpp"
7 #include "attribute_template.hpp"
8 #include "exception.hpp"
9 #include "xml_node.hpp"
10 
11 namespace xios
12 {
14 
21  : public xios_map<StdString, CAttribute*>
22  {
23  typedef xios_map<StdString, CAttribute*> SuperClassMap;
24 
25  public :
26 
28  bool hasAttribute(const StdString & key) const;
29 
31  CAttribute * operator[](const StdString & key);
32 
34  void setAttribute(const StdString & key, CAttribute * const attr);
35 
36  void setAttributes(const xml::THashAttributes & attributes);
37  void setAttributes(const CAttributeMap * const _parent, bool apply=true);
38  void duplicateAttributes(const CAttributeMap* const _parent);
39  void clearAllAttributes(void);
40  StdString dumpXiosAttributes(void) const;
41 
42  void clearAttribute(const StdString& key);
43  bool isEqual(const CAttributeMap& another, const vector<StdString>& excludedAttrs);
44 
46  virtual ~CAttributeMap(void);
47 
49  // Debug only //
50  // friend StdOStream & operator << (StdOStream & os, const CAttributeMap & attributmap);
51 
53  virtual StdString toString(void) const;
54  virtual void fromString(const StdString & str);
55 
56 // virtual void toBinary (StdOStream & os) const;
57 // virtual void fromBinary(StdIStream & is);
58  virtual void generateCInterface(ostream& oss, const string& className) ;
59  virtual void generateFortran2003Interface(ostream& oss, const string& className) ;
60  virtual void generateFortranInterface_hdl_(ostream& oss, const string& className) ;
61  virtual void generateFortranInterface_hdl(ostream& oss, const string& className) ;
62  virtual void generateFortranInterface_id(ostream& oss, const string& className) ;
63  virtual void generateFortranInterfaceGet_hdl_(ostream& oss, const string& className) ;
64  virtual void generateFortranInterfaceGet_hdl(ostream& oss, const string& className) ;
65  virtual void generateFortranInterfaceGet_id(ostream& oss, const string& className) ;
66  virtual void generateFortranInterfaceIsDefined_hdl_(ostream& oss, const string& className) ;
67  virtual void generateFortranInterfaceIsDefined_hdl(ostream& oss, const string& className) ;
68  virtual void generateFortranInterfaceIsDefined_id(ostream& oss, const string& className) ;
69 
70  protected :
71 
73  CAttributeMap(void);
74  CAttributeMap(const xios_map<StdString, CAttribute*> & umap); // Never implemented.
75  CAttributeMap(const xios_map<StdString, CAttribute*> * const umap); // Not implemented.
76 
79 
80  }; // class CAttributeMap
81 
82  inline bool CAttributeMap::hasAttribute(const StdString& key) const
83  {
84  return (this->find(key) != this->end());
85  }
86 
87 } // namespace xios
88 
89 #endif // __XIOS_CAttributeMap__
void setAttributes(const xml::THashAttributes &attributes)
virtual void generateCInterface(ostream &oss, const string &className)
virtual void generateFortranInterfaceGet_hdl(ostream &oss, const string &className)
bool isEqual(const CAttributeMap &another, const vector< StdString > &excludedAttrs)
Compare two attribute maps.
#define xios_map
standard C++ headers ///
Definition: xios_spl.hpp:35
virtual void generateFortranInterfaceIsDefined_hdl(ostream &oss, const string &className)
virtual ~CAttributeMap(void)
Destructeur ///.
virtual void generateFortranInterfaceGet_id(ostream &oss, const string &className)
virtual void generateFortranInterface_hdl_(ostream &oss, const string &className)
virtual void generateFortranInterface_hdl(ostream &oss, const string &className)
std::string StdString
Definition: xios_spl.hpp:48
#define xios(arg)
virtual void generateFortran2003Interface(ostream &oss, const string &className)
////////////////////// Déclarations ////////////////////// ///
virtual void generateFortranInterfaceGet_hdl_(ostream &oss, const string &className)
static CAttributeMap * Current
Propriété statique ///.
StdString dumpXiosAttributes(void) const
std::map< StdString, StdString > THashAttributes
////////////////////// Déclarations ////////////////////// ///
Definition: xml_node.hpp:15
void setAttribute(const StdString &key, CAttribute *const attr)
Mutateurs ///.
std::map< StdString, CAttribute * > SuperClassMap
void clearAttribute(const StdString &key)
virtual void generateFortranInterfaceIsDefined_id(ostream &oss, const string &className)
virtual StdString toString(void) const
Flux ///.
virtual void fromString(const StdString &str)
virtual void generateFortranInterfaceIsDefined_hdl_(ostream &oss, const string &className)
void clearAllAttributes(void)
CAttribute * operator[](const StdString &key)
Accesseurs ///.
CAttributeMap(void)
Constructeurs ///.
////////////////////// Déclarations ////////////////////// ///
Definition: attribute.hpp:23
void duplicateAttributes(const CAttributeMap *const _parent)
Duplicate attribute map with a specific attribute map.
virtual void generateFortranInterface_id(ostream &oss, const string &className)
bool hasAttribute(const StdString &key) const
Tests ///.