#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 false; return minutes()(const SurfaceTime &surfaceTime)const { if(hours()>surfaceTime.hours())return true; if(hours()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