source: vendor/nemo/current/NEMOGCM/EXTERNAL/XIOS/src/object.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.4 KB
Line 
1#ifndef __XMLIO_CObject__
2#define __XMLIO_CObject__
3
4/// xios headers ///
5#include "xmlioserver_spl.hpp"
6
7namespace xios
8{
9   /// ////////////////////// Déclarations ////////////////////// ///
10
11   class CObject
12   {
13      public :
14
15         /// Destructeur ///
16         virtual ~CObject(void);
17
18         /// Accesseurs ///
19         const StdString & getId(void) const;
20
21         /// Mutateurs ///
22         void resetId(void);
23         void setId(const StdString & id);
24
25         /// Tests ///
26         bool hasId(void) const;
27
28         /// Opérateurs ///
29         bool operator==(const CObject & other) const;
30         bool operator!=(const CObject & other) const;
31
32         /// Flux ///
33         friend StdOStream & operator << (StdOStream & os, const CObject & object);
34
35         /// Autres ///
36         virtual StdString toString(void) const = 0;
37         virtual void fromString(const StdString & str) = 0;
38
39      protected :
40
41         /// Constructeurs ///
42         CObject(void);
43         explicit CObject(const StdString & id);
44         CObject(const CObject & object);
45         CObject(const CObject * const object); // Not implemented.
46
47      private :
48
49         /// Propriétés ///
50         StdString id ;    // identifiant de l'Object
51         bool IdDefined ;  // true si l'object est identifié, false sinon.
52
53   }; // class CObject
54
55} // namespace xios
56
57#endif // __XMLIO_CObject__
58
Note: See TracBrowser for help on using the repository browser.