• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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