42 static time_t sec_offset;
45 if (!sec_offset) sec_offset = tv.tv_sec;
49 clock_gettime(CLOCK_MONOTONIC, &tv);
50 static time_t sec_offset = tv.tv_sec;
68 string.
Format(
"%u:%02u:%02u:%03u:",time / 1000 / 60 / 60, (time / 1000 / 60) % 60, (time / 1000) % 60, time % 1000);
76 return lhs.inf == rhs.inf &&
85 return lhs.inf < rhs.inf;
87 return lhs.time < rhs.time;
96 int infinityTo = lhs.inf - rhs.inf;
98 if (infinityTo < 0)
return std::numeric_limits<int32_t>::min();
99 if (infinityTo > 0)
return std::numeric_limits<int32_t>::max();
103 return int32_t(lhs.time - rhs.time);
bool operator<(const C4TimeMilliseconds &lhs, const C4TimeMilliseconds &rhs)
bool operator==(const C4TimeMilliseconds &lhs, const C4TimeMilliseconds &rhs)
int32_t operator-(const C4TimeMilliseconds &lhs, const C4TimeMilliseconds &rhs)
C4TimeMilliseconds()=default
StdCopyStrBuf AsString() const
C4TimeMilliseconds & operator=(const C4TimeMilliseconds &rhs)
static C4TimeMilliseconds Now()
void Format(const char *szFmt,...) GNUC_FORMAT_ATTRIBUTE_O