diff options
| -rw-r--r-- | src/local_time.cc | 24 | ||||
| -rw-r--r-- | src/local_time.h | 1 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/local_time.cc b/src/local_time.cc index 1bedb9bd..727583e5 100644 --- a/src/local_time.cc +++ b/src/local_time.cc @@ -303,6 +303,30 @@ LocalTime::operator< (LocalTime const & other) const bool +LocalTime::operator>(LocalTime const & other) const +{ + DCP_ASSERT(_offset == other._offset); + + if (_year != other._year) { + return _year > other._year; + } + if (_month != other._month) { + return _month > other._month; + } + if (_day != other._day) { + return _day > other._day; + } + if (_hour != other._hour) { + return _hour > other._hour; + } + if (_second != other._second) { + return _second > other._second; + } + return _millisecond > other._millisecond; +} + + +bool LocalTime::operator!= (LocalTime const & other) const { return !(*this == other); diff --git a/src/local_time.h b/src/local_time.h index 58acc227..9a19b2d5 100644 --- a/src/local_time.h +++ b/src/local_time.h @@ -138,6 +138,7 @@ public: bool operator== (LocalTime const & other) const; bool operator!= (LocalTime const & other) const; bool operator< (LocalTime const & other) const; + bool operator>(LocalTime const & other) const; private: friend struct ::local_time_basic_test; |
