1#include "libxr_time.hpp"
5uint64_t libxr_timebase_max_valid_us = UINT64_MAX;
6uint32_t libxr_timebase_max_valid_ms = UINT32_MAX;
11 : microsecond_(microsecond)
15MicrosecondTimestamp::operator uint64_t()
const {
return microsecond_; }
19MicrosecondTimestamp::Duration::Duration::operator uint64_t()
const {
return diff_; }
21[[nodiscard]]
double MicrosecondTimestamp::Duration::Duration::ToSecond()
const
23 return static_cast<double>(diff_) / 1000000.0;
26[[nodiscard]]
float MicrosecondTimestamp::Duration::Duration::ToSecondf()
const
28 return static_cast<float>(diff_) / 1000000.0f;
31[[nodiscard]] uint64_t MicrosecondTimestamp::Duration::Duration::ToMicrosecond()
const
36[[nodiscard]] uint32_t MicrosecondTimestamp::Duration::Duration::ToMillisecond()
const
55 ASSERT(diff <= libxr_timebase_max_valid_us);
69MillisecondTimestamp::MillisecondTimestamp() : millisecond_(0) {}
71MillisecondTimestamp::MillisecondTimestamp(uint32_t millisecond)
72 : millisecond_(millisecond)
76MillisecondTimestamp::operator uint32_t()
const {
return millisecond_; }
80MillisecondTimestamp::Duration::operator uint32_t()
const {
return diff_; }
84 return static_cast<double>(diff_) / 1000.0;
89 return static_cast<float>(diff_) / 1000.0f;
99 return static_cast<uint64_t
>(diff_) * 1000u;
116 ASSERT(diff <= libxr_timebase_max_valid_ms);
表示微秒级时间差的类。Class representing a time difference in microseconds.
Duration(uint64_t diff)
构造函数,初始化时间差。 Constructor initializing the time difference.
表示微秒级时间戳的类。Class representing a timestamp in microseconds.
MicrosecondTimestamp()
默认构造函数,初始化时间戳为 0。 Default constructor initializing the timestamp to 0.
MicrosecondTimestamp & operator=(const MicrosecondTimestamp &other)
赋值运算符重载。 Assignment operator overload.
uint64_t microsecond_
以微秒存储的时间戳。Timestamp stored in microseconds.
Duration operator-(const MicrosecondTimestamp &old_microsecond) const
计算两个时间戳之间的时间差。 Computes the time difference between two timestamps.
表示毫秒级时间差的类。Class representing a time difference in milliseconds.
uint64_t ToMicrosecond() const
以微秒返回时间差。 Returns the time difference in microseconds.
uint32_t ToMillisecond() const
以毫秒返回时间差。 Returns the time difference in milliseconds.
float ToSecondf() const
以秒返回时间差(float 类型)。 Returns the time difference in seconds as a float.
Duration(uint32_t diff)
构造函数,初始化时间差。 Constructor initializing the time difference.
double ToSecond() const
以秒返回时间差(double 类型)。 Returns the time difference in seconds as a double.
表示毫秒级时间戳的类。Class representing a timestamp in milliseconds.
Duration operator-(const MillisecondTimestamp &old_millisecond) const
计算两个时间戳之间的时间差。 Computes the time difference between two timestamps.
uint32_t millisecond_
以毫秒存储的时间戳。Timestamp stored in milliseconds.