6#include <unordered_map>
35 std::chrono::microseconds
elapsed()
const;
51 std::optional<Stamp>
joinOf(
const std::string& team)
const;
54 double _ticksSince(std::chrono::steady_clock::time_point from)
const;
60 std::unordered_map<std::string, Stamp>
_joins;
Single owner of game frequency and elapsed game time.
std::chrono::steady_clock::time_point _lastFreqChange
std::optional< Stamp > joinOf(const std::string &team) const
The join stamp for team, or nullopt if the team never joined.
void recordJoin(const std::string &team)
double _ticksSince(std::chrono::steady_clock::time_point from) const
double ticks() const
Total ticks elapsed: integral of freq over time. Fractional by nature.
std::chrono::steady_clock::time_point _startTime
float setFreq(int newFreq)
Change frequency, banking ticks accrued at the old rate first.
std::unordered_map< std::string, Stamp > _joins
std::chrono::microseconds elapsed() const
Wall-clock time since construction.
A clock reading: wall time and ticks since boot, captured at one instant.
std::chrono::microseconds elapsed