#pragma once #include class StopWatch { public: StopWatch() { _start = std::chrono::steady_clock::now(); } void reset() { _start = std::chrono::steady_clock::now(); } double elapsed_s() { return std::chrono::duration(std::chrono::steady_clock::now() - _start).count(); } double elapsed_ms() { return std::chrono::duration(std::chrono::steady_clock::now() - _start).count(); } double elapsed_us() { return std::chrono::duration(std::chrono::steady_clock::now() - _start).count(); } double elapsed_ns() { return std::chrono::duration(std::chrono::steady_clock::now() - _start).count(); } private: std::chrono::steady_clock::time_point _start; };