00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __libutilxx__sella__variant__Time_H__
00010 #define __libutilxx__sella__variant__Time_H__
00011
00012 #include "../../common.h"
00013 #include "TypeCastException.h"
00014 #include "Nullable.h"
00015
00016 #include <memory>
00017
00018 #include <boost/regex.hpp>
00019
00020 namespace sella {
00021 namespace variant {
00022 class Time;
00023 }
00024 }
00025
00026 class sella::variant::Time : public Nullable {
00027 public:
00028 static const boost::regex Pattern;
00029 static const int Type = 0x21;
00030
00031
00032 Time() throw ();
00033 Time(const std::string & value) throw (TypeCastException);
00034 Time(int64_t value) throw ();
00035
00036 Time(const Time &other) throw ();
00037 virtual ~Time() throw ();
00038
00039
00040 bool operator==(const Time &other) const throw ();
00041 bool operator!=(const Time &other) const throw ();
00042 bool operator>(const Time &other) const throw ();
00043 bool operator<(const Time &other) const throw ();
00044 Time& operator=(const Time &other) throw ();
00045 Time& operator+=(int64_t value) throw ();
00046 Time& operator-=(int64_t value) throw ();
00047 Time& operator*=(int64_t value) throw ();
00048 Time& operator/=(int64_t value) throw ();
00049 Time& operator^=(int64_t value) throw ();
00050 Time& operator%=(int64_t value) throw ();
00051 Time& operator&=(int64_t value) throw ();
00052 Time& operator|=(int64_t value) throw ();
00053 Time& operator<<=(int64_t value) throw ();
00054 Time& operator>>=(int64_t value) throw ();
00055
00056
00057 const int64_t* getUsec() const throw (UnsupportedOperatorException);
00058
00059 virtual const std::string& str() const throw ();
00060 };
00061
00062 #endif
00063
00064
00065
00066