27 #if defined(_WIN32) && defined(HR_ENGINE_SHARED) 29 # define MR_DllDeclare __declspec( dllexport ) 31 # define MR_DllDeclare __declspec( dllimport ) 34 # define MR_DllDeclare 59 std::string
FmtLong()
const {
return lastRead.FmtLong(); }
60 std::string
FmtShort()
const {
return lastRead.FmtShort(); }
67 void SetTime(
const Duration &duration = {}) noexcept;
95 boost::signals2::connection
At(
const Duration &duration, Fn &&fn)
97 auto &sig = alarms[duration];
101 return sig->connect(std::forward<Fn>(fn));
112 std::map<Duration, std::unique_ptr<alarmSignal_t>>
alarms;
const Duration & GetTime() const noexcept
Retrieve the time of the last call to Advance().
Definition: Clock.h:66
Duration lastRead
Definition: Clock.h:105
std::map< Duration, std::unique_ptr< alarmSignal_t > > alarms
Definition: Clock.h:112
std::string FmtLong() const
Definition: Clock.h:59
void ClearAlarms() noexcept
Remove all alarms.
Definition: Clock.h:77
boost::signals2::signal< void()> alarmSignal_t
Definition: Clock.h:72
std::ostream & FmtLong(std::ostream &os) const
Stream out the full-length format.
Definition: Duration.cpp:39
std::ostream & operator<<(std::ostream &os, const Clock &clock)
Definition: Clock.h:115
virtual ~Clock()
Definition: Clock.h:56
Duration offset
Definition: Clock.h:107
A game clock that manages the current time in the simulation.
Definition: Clock.h:44
std::string FmtShort() const
Definition: Clock.h:60
#define MR_DllDeclare
Definition: Clock.h:34
Definition: Announcement.h:24
boost::signals2::connection At(const Duration &duration, Fn &&fn)
Set a one-shot alarm to run at a specific time.
Definition: Clock.h:95
Duration start
Definition: Clock.h:106
The relative time between two timestamps.
Definition: Duration.h:49