#ifndef DEBUG_H #define DEBUG_H #include /* Benchmark objects measure and print the time in microseconds * between construction and destruction. Given a unique id, they also * calculate a running average of the last `avgmax' instances of * objects of the same id. */ struct Benchmark { Benchmark(const char* name, int id, int avgmax); ~Benchmark(); /* Don't print time on destruction. */ void Disable() noexcept; long long ticks; bool disabled = false; int id; int avgmax; const char* name; }; /* Return name of given window message (WM_*). */ const char* WmName(UINT uMsg) noexcept; #endif