/* * Timer.hpp * * Created on: 26 сент. 2021 г. * Author: alexander */ #pragma once #include #include class Timer { private: using clock_t = std::chrono::high_resolution_clock; using second_t = std::chrono::duration >; std::string m_name; std::chrono::time_point m_beg; double elapsed() const { return std::chrono::duration_cast(clock_t::now() -m_beg).count(); } public: Timer() : m_beg(clock_t::now()) { } Timer(std::string name) : m_name(name), m_beg(clock_t::now()) { } void start(std::string name) { m_name = name; m_beg = clock_t::now(); } void print() const { std::cout << m_name << ":\t" << elapsed() * 1000 << " ms" << '\n'; } };