#ifndef TIMER_H_ #define TIMER_H_ #include #include #include template struct measure { template static auto duration(F &&func, Args &&...args) { auto start = ClockType::now(); auto retVal = std::invoke(std::forward(func), std::forward(args)...); auto end = ClockType::now(); return std::make_pair(retVal, std::chrono::duration_cast(end - start)); } }; #endif // TIMER_H_