source: vendor/nemo/current/NEMOGCM/EXTERNAL/XIOS/src/functor.hpp @ 44

Last change on this file since 44 was 44, checked in by cholod, 12 years ago

Load NEMO_TMP into vendor/nemo/current.

File size: 1.7 KB
Line 
1#ifndef __XMLIO_CFunctor__
2#define __XMLIO_CFunctor__
3
4/// xios headers ///
5#include "xmlioserver_spl.hpp"
6#include "exception.hpp"
7#include "array.hpp"
8
9namespace xios
10{
11   namespace func
12   {
13      /// ////////////////////// Déclarations ////////////////////// ///
14      class CFunctor : public CObject
15      {
16         /// Définition de type ///
17         typedef CObject SuperClass;
18         typedef ARRAY(double, 1) DoubleArray;
19
20         public :
21
22            /// Accesseurs ///
23            DoubleArray getDataOutput(void) const;
24            /// Opérateur ///
25            DoubleArray operator ()(const DoubleArray dinput);
26
27            /// Destructeur ///
28            virtual ~CFunctor(void);
29
30            //Traitement ///
31            virtual void final(void);
32
33         protected :
34
35            /// Traitement ///
36            virtual void apply(const DoubleArray dinput, DoubleArray doutput) = 0;
37
38            /// Autres ///
39            virtual StdString toString(void) const;
40            virtual void fromString(const StdString & str);
41
42            /// Constructeurs ///
43            CFunctor(void);                             // Not implemented.
44            CFunctor(const StdString & id, DoubleArray doutput);
45            CFunctor(const CFunctor & functor);         // Not implemented.
46            CFunctor(const CFunctor * const functor);   // Not implemented.
47
48         private :
49
50            /// Propriétés privées ///
51            DoubleArray doutput;
52           
53         protected :
54            /// Propriétés protégées ///   
55            int nbcall;           
56      }; // class CFunctor
57   } // namespace func
58} // namespace xios
59
60//#include "functor_type.hpp"
61
62#endif // __XMLIO_CFunctor__
Note: See TracBrowser for help on using the repository browser.