00001 #if !defined(__MCTIME_H_)
00002 #define __MCTIME_H_
00003
00004 #ident "@(#)$Id: MCTime.h,v 1.5 2004/12/02 07:05:20 mike Exp $"
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "mcllib/MCTypes.h"
00026 #include "mcllib/MCString.h"
00027
00028 namespace mcllib
00029 {
00031 extern const mcinterval_t MCIntervalInfinite;
00033 extern const mcinterval_t MCIntervalMax;
00035 extern const mcinterval_t MCIntervalNone;
00036
00041 class MCTimeDelta
00042 {
00043 public:
00048 MCTimeDelta(mctime_t t);
00053 MCTimeDelta(mcinterval_t t);
00059 explicit MCTimeDelta(const char* deltaStr);
00065 operator mcinterval_t() const;
00070 mctime_t getTime() const;
00076 MCString toString() const;
00077 private:
00078 mctime_t m_time;
00079 };
00080
00086 class MCTime
00087 {
00088 public:
00092 MCTime();
00114 MCTime(const char* timeStr);
00119 explicit MCTime(mctime_t t);
00125 MCTime& operator=(mctime_t t);
00130 operator mctime_t() const;
00144 MCString toString() const;
00150 bool operator==(const MCTime& t) const;
00156 bool operator!=(const MCTime& t) const;
00162 bool operator<(const MCTime& t) const;
00168 bool operator>(const MCTime& t) const;
00174 bool operator<=(const MCTime& t) const;
00180 bool operator>=(const MCTime& t) const;
00187 MCTimeDelta operator-(const MCTime& t) const;
00195 MCTime operator()(const MCTimeDelta& t) const;
00196 private:
00197 mctime_t m_time;
00198 };
00199 };
00200
00201 #endif