source: XIOS/trunk/src/attribute_map.hpp @ 721

Last change on this file since 721 was 623, checked in by mhnguyen, 9 years ago

Implementing transformation algorithm: zoom axis (local commit)

+) Implement zoom axis: zoomed points are points not masked
+) Correct some minor bugs

Test
+) Ok with normal cases: zoom in the last of transformation list
+) There is still a bug in case of zoom then inverse

  • Property copyright set to
    Software name : XIOS (Xml I/O Server)
    http://forge.ipsl.jussieu.fr/ioserver
    Creation date : January 2009
    Licence : CeCCIL version2
    see license file in root directory : Licence_CeCILL_V2-en.txt
    or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
    Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement)
    CNRS/IPSL (Institut Pierre Simon Laplace)
    Project Manager : Yann Meurdesoif
    yann.meurdesoif@cea.fr
File size: 3.1 KB
RevLine 
[591]1#ifndef __XIOS_CAttributeMap__
2#define __XIOS_CAttributeMap__
[219]3
[591]4/// XIOS headers ///
5#include "xios_spl.hpp"
[219]6#include "attribute.hpp"
7#include "attribute_template.hpp"
8#include "exception.hpp"
9#include "xml_node.hpp"
10
[335]11namespace xios
[219]12{
13      /// ////////////////////// Déclarations ////////////////////// ///
14      class CAttributeMap
15         : public xios_map<StdString, CAttribute*>
16      {
17            typedef xios_map<StdString, CAttribute*> SuperClassMap;
18
19         public :
20
21            /// Tests ///
22            inline bool hasAttribute(const StdString & key) const;
23
24            /// Accesseurs ///
25            CAttribute * operator[](const StdString & key);
26
27            /// Mutateurs ///
28            void setAttribute(const StdString & key, CAttribute * const attr);
29
30            void setAttributes(const xml::THashAttributes & attributes);
[445]31            void setAttributes(const CAttributeMap * const _parent, bool apply=true);
[623]32            void duplicateAttributes(const CAttributeMap* const _parent);
[219]33            void clearAllAttributes(void);
34
[509]35            void clearAttribute(const StdString& key);
36
[219]37            /// Destructeur ///
38            virtual ~CAttributeMap(void);
39
40            /// Flux ///
41            // Debug only //
42            // friend StdOStream & operator << (StdOStream & os, const CAttributeMap & attributmap);
43
44            /// Autre ///
45            virtual StdString toString(void) const;
46            virtual void fromString(const StdString & str);
[509]47
[369]48//            virtual void toBinary  (StdOStream & os) const;
49//            virtual void fromBinary(StdIStream & is);
[313]50            virtual void generateCInterface(ostream& oss, const string& className) ;
51            virtual void generateFortran2003Interface(ostream& oss, const string& className) ;
52            virtual void generateFortranInterface_hdl_(ostream& oss, const string& className) ;
53            virtual void generateFortranInterface_hdl(ostream& oss, const string& className) ;
54            virtual void generateFortranInterface_id(ostream& oss, const string& className) ;
55            virtual void generateFortranInterfaceGet_hdl_(ostream& oss, const string& className) ;
56            virtual void generateFortranInterfaceGet_hdl(ostream& oss, const string& className) ;
57            virtual void generateFortranInterfaceGet_id(ostream& oss, const string& className) ;
[432]58            virtual void generateFortranInterfaceIsDefined_hdl_(ostream& oss, const string& className) ;
59            virtual void generateFortranInterfaceIsDefined_hdl(ostream& oss, const string& className) ;
60            virtual void generateFortranInterfaceIsDefined_id(ostream& oss, const string& className) ;
[219]61
62         protected :
63
64            /// Constructeurs ///
65            CAttributeMap(void);
66            CAttributeMap(const xios_map<StdString, CAttribute*> & umap);       // Never implemented.
67            CAttributeMap(const xios_map<StdString, CAttribute*> * const umap); // Not implemented.
68
69            /// Propriété statique ///
70            static CAttributeMap * Current;
71
72      };  // class CAttributeMap
73
[335]74} // namespace xios
[219]75
[591]76#endif // __XIOS_CAttributeMap__
Note: See TracBrowser for help on using the repository browser.