From ef6d0a8f9a26c845fd9536819d03c78bdb57dfd4 Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Sat, 26 Sep 2015 16:02:41 -0400 Subject: [PATCH] ISO8601d: Added ::operator-- (prefix) --- src/ISO8601.cpp | 14 ++++++++++++++ src/ISO8601.h | 1 + 2 files changed, 15 insertions(+) diff --git a/src/ISO8601.cpp b/src/ISO8601.cpp index 6fa9df6c1..0295a96b6 100644 --- a/src/ISO8601.cpp +++ b/src/ISO8601.cpp @@ -1201,6 +1201,20 @@ time_t ISO8601d::operator- (const ISO8601d& rhs) return _date - rhs._date; } +//////////////////////////////////////////////////////////////////////////////// +// Prefix decrement by one day. +void ISO8601d::operator-- () +{ + ISO8601d yesterday = startOfDay () - 1; + yesterday = ISO8601d (yesterday.month (), + yesterday.day (), + yesterday.year (), + hour (), + minute (), + second ()); + _date = yesterday._date; +} + //////////////////////////////////////////////////////////////////////////////// void ISO8601p::clear () { diff --git a/src/ISO8601.h b/src/ISO8601.h index d4cd49768..85833640d 100644 --- a/src/ISO8601.h +++ b/src/ISO8601.h @@ -85,6 +85,7 @@ public: ISO8601d& operator+= (const int); ISO8601d& operator-= (const int); time_t operator- (const ISO8601d&); + void operator-- (); // Prefix private: void clear ();