/** * @file timer.hpp * @author Julian Iseringhausen * @date Tue Sep 6 16:17:40 2011 * * @brief Class to measure timings. * */ #ifndef TIMER_HPP_ #define TIMER_HPP_ #include #include #include "thirdparty/pugixml/pugixml.hpp" namespace VMG { struct TimerData { TimerData(): time_start(0.0), duration(0.0), warning(0), total(0) {} double time_start; double duration; int warning; int total; }; class Timer { public: Timer() {} ~Timer() {} static void Start(std::string event); static void Stop(std::string event); static void Clear(); static pugi::xml_node ToXMLNode(); static std::string ToString(); static void Print(); static std::map td; private: static std::string active_timer; }; std::ostream& operator<<(std::ostream& out, const Timer&); } #endif /* TIMER_HPP_ */