1 #pragma once 2 3 #include <chrono> 4 5 class Stopwatch 6 { 7 public: start()8 void start() 9 { 10 m_start = std::chrono::steady_clock::now(); 11 } 12 elapsed_s()13 double elapsed_s() const 14 { 15 return std::chrono::duration<double>(std::chrono::steady_clock::now() - m_start).count(); 16 } 17 elapsed_ms()18 double elapsed_ms() const 19 { 20 return std::chrono::duration<double, std::milli>(std::chrono::steady_clock::now() - m_start).count(); 21 } 22 elapsed_us()23 double elapsed_us() const 24 { 25 return std::chrono::duration<double, std::micro>(std::chrono::steady_clock::now() - m_start).count(); 26 } 27 28 private: 29 std::chrono::steady_clock::time_point m_start; 30 }; 31