| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #ifndef __XIOS_CDuration__
- #define __XIOS_CDuration__
- /// XIOS headers ///
- #include "xios_spl.hpp"
- #include "exception.hpp"
- namespace xios
- {
- /// ////////////////////// Déclarations ////////////////////// ///
- typedef long long int Time;
- class CCalendar;
- ///---------------------------------------------------------------
- struct CDuration
- {
- public: /* static */
- static CDuration FromString(const StdString& str);
- public:
- CDuration(double year=0.0, double month=0.0, double day=0.0, double hour=0.0, double minute=0.0, double second=0.0, double timestep=0.0);
- /// Opérateurs ///
- CDuration& operator=(const CDuration& duration);
- bool operator==(const CDuration& duration);
- friend StdOStream& operator<<(StdOStream& out, const CDuration& duration);
- friend StdIStream& operator>>(StdIStream& in , CDuration& duration);
- /// Test ///
- bool isNone(void) const;
- /// Traitement ///
- CDuration& resolve(const CCalendar& calendar, bool noNegativeTime = false);
- CDuration& solveTimeStep(const CCalendar& c);
- /// Autres ///
- StdString toString(void) const;
- StdString toStringUDUnits(void) const;
- /// Propriétés publiques ///
- double year, month, day, hour, minute, second, timestep;
- };
- ///---------------------------------------------------------------
- const extern CDuration Year, Month, Week, Day,
- Hour, Minute, Second, TimeStep, NoneDu;
- } // namespace xios
- #endif // __XIOS_CDuration__
|