26 #include <boost/operators.hpp> 31 #if defined(_WIN32) && defined(HR_ENGINE_SHARED) 33 # define MR_DllDeclare __declspec( dllexport ) 35 # define MR_DllDeclare __declspec( dllimport ) 38 # define MR_DllDeclare 50 private boost::totally_ordered<Duration, Duration>,
51 private boost::totally_ordered<Duration, MR_Int64>
72 duration(later.duration - earlier.duration) { }
78 constexpr
Duration(
dur_t duration = 0) noexcept : duration(duration) { }
102 constexpr
dur_t ToMs() const noexcept {
return duration; }
105 static dur_t ParseDuration(
const std::string &s);
108 std::ostream &FmtLong(std::ostream &os)
const;
109 std::string FmtLong()
const;
110 std::ostream &FmtShort(std::ostream &os)
const;
111 std::string FmtShort()
const;
134 return a.duration == b.duration;
139 return a.duration == b;
144 return a == b.duration;
149 return a.duration < b.duration;
154 return a.duration < b;
159 return a < b.duration;
constexpr Duration(dur_t duration=0) noexcept
Constructor.
Definition: Duration.h:78
constexpr timestamp_t TimeDiff(timestamp_t laterTs, timestamp_t earlierTs) noexcept
Calculate the difference between two timestamps.
Definition: OS.h:82
constexpr bool operator==(const Duration &a, const Duration &b) noexcept
Definition: Duration.h:132
Duration(const std::string &s)
Definition: Duration.h:80
friend constexpr bool operator<(const Duration &a, const Duration &b) noexcept
Definition: Duration.h:147
constexpr bool operator<(const Duration &a, const Duration &b) noexcept
Definition: Duration.h:147
std::ostream & operator<<(std::ostream &os, const Clock &clock)
Definition: Clock.h:115
constexpr dur_t ToMs() const noexcept
Convert the duration to milliseconds.
Definition: Duration.h:102
constexpr Duration(OS::timestamp_t later, OS::timestamp_t earlier) noexcept
Constructor from two timestamps.
Definition: Duration.h:61
friend constexpr bool operator==(const Duration &a, const Duration &b) noexcept
Definition: Duration.h:132
std::ostream & FmtShort(std::ostream &os) const
Stream out the short format.
Definition: Duration.cpp:87
MR_Int64 dur_t
Definition: Duration.h:54
constexpr Duration operator-() const noexcept
Definition: Duration.h:93
Definition: Announcement.h:24
int64_t MR_Int64
Definition: MR_Types.h:45
constexpr Duration(const Duration &later, const Duration &earlier) noexcept
Constructor from two durations.
Definition: Duration.h:70
dur_t duration
Definition: Duration.h:114
The relative time between two timestamps.
Definition: Duration.h:49
#define MR_DllDeclare
Definition: Duration.h:38
MR_Int64 timestamp_t
Definition: OS.h:55