#pragma once #include "Exceptions.hpp" #include #include // Reference: https://cplusplus.com/reference/ctime class Date { private: // The time stored. time_t time; // If this date represents "Any time". bool _isAny; public: Date(); Date(const time_t &_time); Date(const tm &_time); // Set the stored date to the argument. void setNewDate(const time_t &newTime); void setNewDate(const tm &newTime); // Set the date to "any". void setAny(); // returns the time. bool isAny() const; time_t getTime() const; // returns a human-readable string of the stored time. std::string toString() const; bool operator<(const Date &otherDate) const; bool operator>(const Date &otherDate) const; bool operator<=(const Date &otherDate) const; bool operator>=(const Date &otherDate) const; bool operator==(const Date &otherDate) const; };