109 lines
2.0 KiB
C++
109 lines
2.0 KiB
C++
#ifndef _DIVEPLANNER_SURFACETIME_HPP_
|
|
#define _DIVEPLANNER_SURFACETIME_HPP_
|
|
|
|
class SurfaceTime
|
|
{
|
|
public:
|
|
SurfaceTime(void);
|
|
SurfaceTime(int hours,int minutes);
|
|
virtual ~SurfaceTime();
|
|
bool operator==(const SurfaceTime &surfaceTime)const;
|
|
bool operator<(const SurfaceTime &surfaceTime)const;
|
|
bool operator>(const SurfaceTime &surfaceTime)const;
|
|
bool operator>=(const SurfaceTime &surfaceTime)const;
|
|
bool operator<=(const SurfaceTime &surfaceTime)const;
|
|
int hours(void)const;
|
|
void hours(int hours);
|
|
int minutes(void)const;
|
|
void minutes(int minutes);
|
|
bool isOkay(void)const;
|
|
private:
|
|
int mHours;
|
|
int mMinutes;
|
|
};
|
|
|
|
inline
|
|
SurfaceTime::SurfaceTime(void)
|
|
: mHours(-1), mMinutes(-1)
|
|
{
|
|
}
|
|
|
|
inline
|
|
SurfaceTime::SurfaceTime(int hours,int minutes)
|
|
: mHours(hours), mMinutes(minutes)
|
|
{
|
|
}
|
|
|
|
inline
|
|
SurfaceTime::~SurfaceTime()
|
|
{
|
|
}
|
|
|
|
inline
|
|
bool SurfaceTime::operator<(const SurfaceTime &surfaceTime)const
|
|
{
|
|
if(hours()<surfaceTime.hours())return true;
|
|
if(hours()>surfaceTime.hours())return false;
|
|
return minutes()<surfaceTime.minutes();
|
|
}
|
|
|
|
inline
|
|
bool SurfaceTime::operator>(const SurfaceTime &surfaceTime)const
|
|
{
|
|
if(hours()>surfaceTime.hours())return true;
|
|
if(hours()<surfaceTime.hours())return false;
|
|
return minutes()>surfaceTime.minutes();
|
|
}
|
|
|
|
inline
|
|
bool SurfaceTime::operator==(const SurfaceTime &surfaceTime)const
|
|
{
|
|
return hours()==surfaceTime.hours()&&minutes()==surfaceTime.minutes();
|
|
}
|
|
|
|
inline
|
|
bool SurfaceTime::operator>=(const SurfaceTime &surfaceTime)const
|
|
{
|
|
if(*this>surfaceTime||*this==surfaceTime)return true;
|
|
return false;
|
|
}
|
|
|
|
inline
|
|
bool SurfaceTime::operator<=(const SurfaceTime &surfaceTime)const
|
|
{
|
|
if(*this<surfaceTime||*this==surfaceTime)return true;
|
|
return false;
|
|
}
|
|
|
|
inline
|
|
int SurfaceTime::hours(void)const
|
|
{
|
|
return mHours;
|
|
}
|
|
|
|
inline
|
|
void SurfaceTime::hours(int hours)
|
|
{
|
|
mHours=hours;
|
|
}
|
|
|
|
inline
|
|
int SurfaceTime::minutes(void)const
|
|
{
|
|
return mMinutes;
|
|
}
|
|
|
|
inline
|
|
void SurfaceTime::minutes(int minutes)
|
|
{
|
|
mMinutes=minutes;
|
|
}
|
|
|
|
inline
|
|
bool SurfaceTime::isOkay(void)const
|
|
{
|
|
if(-1==hours()||-1==minutes())return false;
|
|
return true;
|
|
}
|
|
#endif
|