50 lines
1.1 KiB
C++
50 lines
1.1 KiB
C++
|
|
#ifndef SPECTRE_MATH_TIME_H
|
|
#define SPECTRE_MATH_TIME_H
|
|
|
|
namespace sp {
|
|
|
|
class Time {
|
|
public :
|
|
Time(long value = 0);
|
|
|
|
double seconds() const;
|
|
|
|
int milliseconds() const;
|
|
|
|
long microseconds() const;
|
|
|
|
// ----------------------------
|
|
// Helper construct functions
|
|
// ----------------------------
|
|
static Time seconds(double value);
|
|
static Time milliseconds(int value);
|
|
static Time microseconds(long value);
|
|
|
|
private :
|
|
|
|
// In microseconds.
|
|
long m_value;
|
|
};
|
|
|
|
// ----------------------------
|
|
// Compare
|
|
// ----------------------------
|
|
bool operator ==(const Time& a, const Time& b);
|
|
bool operator !=(const Time& a, const Time& b);
|
|
bool operator <(const Time& a, const Time& b);
|
|
bool operator <=(const Time& a, const Time& b);
|
|
bool operator >(const Time& a, const Time& b);
|
|
bool operator >=(const Time& a, const Time& b);
|
|
|
|
// ----------------------------
|
|
// Arithmetic
|
|
// ----------------------------
|
|
Time operator +(const Time& a, const Time& b);
|
|
Time& operator +=(Time& a, const Time& b);
|
|
Time operator -(const Time& a, const Time& b);
|
|
Time& operator -=(Time& a, const Time& b);
|
|
|
|
}; // namespace sp
|
|
|
|
#endif /* SPECTRE_MATH_TIME_H */
|