sgp4/Timespan.h

58 lines
1.8 KiB
C++
Executable File

#ifndef TIMESPAN_H_
#define TIMESPAN_H_
class Timespan {
public:
Timespan();
Timespan(const unsigned int days, const unsigned int hours,
const unsigned int minutes, const double seconds);
Timespan(const double b);
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);
void AddSeconds(const double seconds);
double GetTotalDays() const;
double GetTotalHours() const;
double GetTotalMinutes() const;
double GetTotalSeconds() const;
// assignment
Timespan & operator=(const Timespan& b);
// arithmetic
Timespan operator+(const Timespan& b) const;
Timespan operator-(const Timespan& b) const;
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
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;
friend double& operator +=(double& a, const Timespan& b);
friend double& operator -=(double& a, const Timespan& b);
private:
/*
* stores value in minutes
*/
double time_span_;
};
#endif