source: XIOS/trunk/src/duration.hpp @ 424

Last change on this file since 424 was 424, checked in by ymipsl, 11 years ago

Add new timestep unit : ts, for duration

YM

File size: 1.5 KB
Line 
1#ifndef __XMLIO_CDuration__
2#define __XMLIO_CDuration__
3
4/// xios headers ///
5#include "xmlioserver_spl.hpp"
6#include "exception.hpp"
7
8namespace xios
9{
10      /// ////////////////////// Déclarations ////////////////////// ///
11      typedef long long int Time;
12      class CCalendar;
13
14      ///---------------------------------------------------------------
15      typedef struct _duration
16      {
17         public :
18
19            /// Opérateurs ///
20            struct _duration & operator=(const struct _duration& duration);
21
22            friend StdOStream & operator<<(StdOStream & out, const struct _duration& duration);
23            friend StdIStream & operator>>(StdIStream & in , struct _duration& duration);
24
25            /// Test ///
26            bool isNone(void) const;
27
28            /// Traitement ///
29            struct _duration & resolve(const CCalendar & calendar);
30
31            /// Autres ///
32            StdString toString(void) const;
33
34         public: /* static */
35
36            static struct _duration FromString(const StdString & str);
37
38            /// Propriétés publiques ///
39            double year, month, day, hour, minute, second, timestep;
40
41      } CDuration;
42
43      ///---------------------------------------------------------------
44
45      const extern CDuration Year, Month , Week  , Day    ,
46                             Hour, Minute, Second, NoneDu, TimeStep ;
47      ///---------------------------------------------------------------
48
49} // namespace xios
50
51#endif // __XMLIO_CDuration__
Note: See TracBrowser for help on using the repository browser.