| 61 | const void* userParam); |
| 62 | |
| 63 | struct Timer { |
| 64 | std::string m_name; |
| 65 | std::chrono::time_point<std::chrono::steady_clock> m_startpoint; |
| 66 | Timer(std::string name) |
| 67 | : m_name(name) |
| 68 | , m_startpoint(std::chrono::steady_clock::now()) |
| 69 | { |
| 70 | } |
| 71 | |
| 72 | ~Timer() |
| 73 | { |
| 74 | const std::chrono::time_point<std::chrono::steady_clock> now = std::chrono::steady_clock::now(); |
| 75 | const std::chrono::milliseconds elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(now - m_startpoint); |
| 76 | unsigned long long elapsed_ = elapsed.count(); |
| 77 | printf(">> Task %s [%llums]\n", m_name.c_str(), elapsed_); |
| 78 | fflush(stdout); |
| 79 | } |
| 80 | }; |
| 81 | |
| 82 | int main() |
| 83 | { |
nothing calls this directly
no outgoing calls
no test coverage detected