/*********************************************************** * Date: 2016-06-30 * * Author: 牟韵 * * Email: mouyun1115@163.com * * Module: 计时器 * * Brief: * * Note: * * CodePage: Pure UTF-8 ************************************************************/ #ifndef __MY_TIMER_HPP_BY_MOUYUN_2014_09_28__ #define __MY_TIMER_HPP_BY_MOUYUN_2014_09_28__ #include namespace my_module_space { class Timer { public: Timer() : m_begin(std::chrono::high_resolution_clock::now()) {} ~Timer() {} private: Timer(const Timer&) = delete; Timer(Timer&&) = delete; Timer operator=(const Timer&) = delete; public: void reset() { m_begin = std::chrono::high_resolution_clock::now(); } double tell_s() const { return std::chrono::duration_cast >(std::chrono::high_resolution_clock::now() - m_begin).count(); } long long tell_ms() const { return std::chrono::duration_cast(std::chrono::high_resolution_clock::now() - m_begin).count(); } long long tell_us() const { return std::chrono::duration_cast(std::chrono::high_resolution_clock::now() - m_begin).count(); } long long tell_ns() const { return std::chrono::duration_cast(std::chrono::high_resolution_clock::now() - m_begin).count(); } private: std::chrono::time_point m_begin; }; } #endif