Add time equality check operators
This commit is contained in:
parent
1388412d70
commit
2a90cdee18
53
ds3231.hpp
53
ds3231.hpp
@ -15,15 +15,68 @@ struct Date {
|
||||
uint16_t year;
|
||||
uint8_t month;
|
||||
uint8_t day;
|
||||
|
||||
inline bool operator==(const Date &rhs) const
|
||||
{
|
||||
if (day != rhs.day)
|
||||
return false;
|
||||
if (month != rhs.month)
|
||||
return false;
|
||||
if (year != rhs.year)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool operator!=(const Date &rhs)
|
||||
{
|
||||
return !(*this == rhs);
|
||||
}
|
||||
};
|
||||
|
||||
struct Time {
|
||||
uint8_t hour;
|
||||
uint8_t minute;
|
||||
uint8_t second;
|
||||
|
||||
inline bool operator==(const Time &rhs) const
|
||||
{
|
||||
if (second != rhs.second)
|
||||
return false;
|
||||
if (minute != rhs.minute)
|
||||
return false;
|
||||
if (hour != rhs.hour)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool operator!=(const Time &rhs)
|
||||
{
|
||||
return !(*this == rhs);
|
||||
}
|
||||
};
|
||||
|
||||
struct DateTime : Date, Time {
|
||||
inline bool operator==(const DateTime &rhs) const
|
||||
{
|
||||
if (second != rhs.second)
|
||||
return false;
|
||||
if (minute != rhs.minute)
|
||||
return false;
|
||||
if (hour != rhs.hour)
|
||||
return false;
|
||||
if (day != rhs.day)
|
||||
return false;
|
||||
if (month != rhs.month)
|
||||
return false;
|
||||
if (year != rhs.year)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
inline bool operator!=(const DateTime &rhs)
|
||||
{
|
||||
return !(*this == rhs);
|
||||
}
|
||||
};
|
||||
|
||||
template <typename I2cDriver, bool SetDayOfWeek = true>
|
||||
|
Loading…
Reference in New Issue
Block a user