diff options
Diffstat (limited to 'lib/dbTypes.h')
-rw-r--r-- | lib/dbTypes.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/dbTypes.h b/lib/dbTypes.h index ba0cd70..b35b036 100644 --- a/lib/dbTypes.h +++ b/lib/dbTypes.h @@ -11,16 +11,25 @@ struct timespec; namespace MyGrate { struct Date { + inline Date() { } + inline Date(uint16_t y, uint8_t m, uint8_t d) : year {y}, month {m}, day {d} { } + explicit inline Date(const tm & tm) : Date(tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday) { } uint16_t year; uint8_t month; uint8_t day; }; struct Time { + inline Time() { } + inline Time(uint8_t h, uint8_t m, uint8_t s) : hour {h}, minute {m}, second {s} { } + explicit inline Time(const tm & tm) : Time(tm.tm_hour, tm.tm_min, tm.tm_sec) { } uint8_t hour; uint8_t minute; uint8_t second; }; struct DateTime : public Date, public Time { + inline DateTime() { } + inline DateTime(const Date & d, const Time & t) : Date {d}, Time {t} { } + explicit inline DateTime(const tm & tm) : Date {tm}, Time {tm} { } }; using Blob = std::span<const std::byte>; |