Files
MapLibreParticleLab/include/llmr/util/timer.hpp
2014-07-11 16:25:20 -07:00

41 lines
1.0 KiB
C++

#ifndef LLMR_UTIL_TIMER
#define LLMR_UTIL_TIMER
#include <llmr/platform/event.hpp>
#include <string>
namespace llmr {
namespace util {
#ifndef DISABLE_TIMER
class timer {
public:
timer(Event event = Event::General);
timer(EventSeverity severity, Event event = Event::General);
timer(const std::string &name, Event event = Event::General);
timer(const std::string &name, EventSeverity severity, Event event = Event::General);
void report(const std::string &name);
~timer();
private:
const std::string name;
EventSeverity severity = EventSeverity::Debug;
Event event = Event::General;
uint64_t start;
};
#else
class timer {
inline timer(Event event = Event::General);
inline timer(EventSeverity severity, Event event = Event::General);
inline timer(const std::string &name, Event event = Event::General);
inline timer(const std::string &name, EventSeverity severity, Event event = Event::General);
inline void report(const std::string &name) {}
inline ~timer() {}
};
#endif
}
}
#endif