This repository has been archived on 2022-05-21. You can view files and clone it, but cannot push or open issues or pull requests.
glyphs-juke/src/TickingClock.h

43 lines
679 B
C++

#pragma once
#include <cstdint>
#define NOMINMAX
#include <windows.h>
#undef NOMINMAX
#include "iClock.h"
namespace gj {
class TickingClock : public iClock {
public:
TickingClock() = delete;
TickingClock(TickingClock&&) = default;
TickingClock(const TickingClock&) = default;
TickingClock& operator=(TickingClock&&) = default;
TickingClock& operator=(const TickingClock&) = default;
TickingClock(const iClock* parent) : parent_(parent) {
Tick();
}
void Tick() {
now_ = parent_->now();
}
uint64_t now() const override {
return now_;
}
private:
const iClock* parent_;
uint64_t now_;
};
}