sgp4/Timespan.h

58 lines
1.8 KiB
C
Raw Normal View History

2011-04-07 13:56:02 +00:00
#ifndef TIMESPAN_H_
#define TIMESPAN_H_
class Timespan {
public:
2011-06-10 12:41:11 +00:00
Timespan();
Timespan(const unsigned int days, const unsigned int hours,
const unsigned int minutes, const double seconds);
2011-06-10 12:41:11 +00:00
Timespan(const double b);
2011-04-07 13:56:02 +00:00
Timespan(const Timespan& b);
virtual ~Timespan(void);
void SetValue(const unsigned int days, const unsigned int hours,
const unsigned int minutes, const double seconds);
void AddDays(const unsigned int days);
void AddHours(const unsigned int hours);
void AddMinutes(const unsigned int minutes);
2011-06-10 12:41:11 +00:00
void AddSeconds(const double seconds);
2011-04-07 13:56:02 +00:00
double GetTotalDays() const;
2011-04-09 19:05:25 +00:00
double GetTotalHours() const;
double GetTotalMinutes() const;
double GetTotalSeconds() const;
2011-04-07 13:56:02 +00:00
2011-06-10 12:41:11 +00:00
// assignment
2011-04-07 13:56:02 +00:00
Timespan & operator=(const Timespan& b);
2011-06-10 12:41:11 +00:00
// arithmetic
2011-04-07 13:56:02 +00:00
Timespan operator+(const Timespan& b) const;
Timespan operator-(const Timespan& b) const;
2011-06-10 12:41:11 +00:00
Timespan operator/(const double b) const;
Timespan operator*(const double b) const;
// compound arithmetic
Timespan & operator+=(const Timespan& b);
Timespan & operator-=(const Timespan& b);
Timespan & operator/=(const double b);
Timespan & operator*=(const double b);
// comparison
2011-04-07 13:56:02 +00:00
bool operator==(const Timespan& b) const;
bool operator!=(const Timespan& b) const;
bool operator>(const Timespan& b) const;
bool operator<(const Timespan& b) const;
bool operator>=(const Timespan& b) const;
bool operator<=(const Timespan& b) const;
2011-06-10 19:34:39 +00:00
friend double& operator +=(double& a, const Timespan& b);
friend double& operator -=(double& a, const Timespan& b);
2011-04-07 13:56:02 +00:00
private:
/*
* stores value in minutes
*/
double time_span_;
};
#endif