add timer

This commit is contained in:
nullifiedcat 2017-07-29 19:48:40 +03:00
parent e5a248b966
commit ef8d0bc527
2 changed files with 37 additions and 0 deletions

View File

@ -34,6 +34,7 @@
#include <unordered_map> #include <unordered_map>
#include <algorithm> #include <algorithm>
#include "timer.hpp"
#include "averager.hpp" #include "averager.hpp"
#include "aftercheaders.h" #include "aftercheaders.h"

36
src/timer.hpp Normal file
View File

@ -0,0 +1,36 @@
/*
* timer.hpp
*
* Created on: Jul 29, 2017
* Author: nullifiedcat
*/
#pragma once
#include <chrono>
class Timer {
public:
typedef std::chrono::system_clock clock;
inline Timer() {};
inline bool check(unsigned ms) const {
return std::chrono::duration_cast<std::chrono::milliseconds>(clock::now() - last).count() >= ms;
}
inline bool test_and_set(unsigned ms) {
if (check(ms)) {
update();
return true;
}
return false;
}
inline void update() {
last = clock::now();
}
public:
std::chrono::time_point<clock> last {};
};