00001 #ifndef TIME_H_INCLUDED_ 00002 #define TIME_H_INCLUDED_ 00003 00004 #include <iostream> 00005 00006 namespace risc { 00007 00008 namespace sg { 00009 00014 class Time { 00015 public: 00016 00021 Time(); 00022 00028 Time(long long time_units, int delta_count); 00029 00034 Time(bool infinite); 00035 00036 int delta_count_; 00037 long long time_units_; 00038 00039 bool operator<(const Time &ohs); 00040 bool operator>(const Time &ohs); 00041 00042 bool operator<=(const Time &ohs); 00043 bool operator>=(const Time &ohs); 00044 00045 bool operator==(const Time &ohs); 00046 bool operator!=(const Time &ohs); 00047 00048 Time operator+(const Time &ohs); 00049 Time& operator+=(const Time &ohs); 00050 00054 bool infinite_; 00055 00061 bool one_delta_cycle_ahead(const Time &ohs); 00062 }; 00063 00064 std::ostream& operator<<(std::ostream& os, const risc::sg::Time& time); 00065 00066 }; // end of namesapce sg 00067 00068 }; // end of namespace risc 00069 00070 #endif /* TIME_H_INCLUDED_ */ 00071 00072 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */