20 #ifndef _ANCH_DATE_DATE_H_    21 #define _ANCH_DATE_DATE_H_    55       static std::mutex _mutex;
    58       std::int64_t _timestamp;
    79       uint16_t _minutes = 0;
    82       uint16_t _seconds = 0;
    85       uint16_t _milliseconds = 0;
    88       uint16_t _microseconds = 0;
    91       uint16_t _nanoseconds = 0;
   101       Date(
bool init = 
true);
   115       Date(
const std::time_t& time);
   122       Date(
const std::tm* 
const time);
   140       template<
typename R, 
typename P>
   141       void initialize(
const std::chrono::duration<R,P>& duration) noexcept {
   142         _nanoseconds = 
static_cast<uint16_t
>(std::chrono::duration_cast<std::chrono::nanoseconds>(duration).count() % 1000);
   143         _microseconds = 
static_cast<uint16_t
>(std::chrono::duration_cast<std::chrono::microseconds>(duration).count() % 1000);
   144         _milliseconds = 
static_cast<uint16_t
>(std::chrono::duration_cast<std::chrono::milliseconds>(duration).count() % 1000);
   152       void initialize(
const std::tm* 
const time);
   157       void computeTimestamp();
   162       inline void computeTm(std::tm& time)
 const {
   163         time.tm_sec = _seconds;
   164         time.tm_min = _minutes;
   165         time.tm_hour = _hours;
   166         time.tm_mday = _mdays;
   167         time.tm_mon = _months;
   168         time.tm_year = _years - 1900;
   180         return _timestamp > date._timestamp;
   191         return _timestamp < date._timestamp;
   202         return _timestamp == date._timestamp;
   215       inline bool operator > (
const Date& date) 
const noexcept {
   225       inline bool operator >= (
const Date& date) 
const noexcept {
   226         return (after(date) || equals(date));
   235       inline bool operator < (
const Date& date) 
const noexcept {
   245       inline bool operator <= (
const Date& date) 
const noexcept {
   246         return (before(date) || equals(date));
   255       inline bool operator == (
const Date& date) 
const noexcept {
   265       inline bool operator != (
const Date& date) 
const noexcept {
   266         return !equals(date);
   274       inline operator std::time_t() const noexcept {
   277         return std::mktime(&time);
   285       inline operator std::tm() const noexcept {
   297 #endif // _ANCH_DATE_DATE_H_ bool equals(const Date &date) const noexcept
Definition: date.hpp:201
bool after(const Date &date) const noexcept
Definition: date.hpp:179
AnCH framework base namespace. 
Definition: base64.hpp:28
bool before(const Date &date) const noexcept
Definition: date.hpp:190