3#include <batmat/config.hpp>
4#include <batmat/export.h>
5#include <guanaqo/timed.hpp>
6#if BATMAT_WITH_CPU_TIME
7#include <guanaqo/timed-cpu.hpp>
14#if BATMAT_WITH_CPU_TIME
25BATMAT_EXPORT std::ostream &
operator<<(std::ostream &, DefaultTimings);
33#if !BATMAT_WITH_CPU_TIME
42 auto wall_end_time = clock::now();
43 ++
time.num_invocations;
50 using clock = std::chrono::steady_clock;
decltype(auto) timed(T &time, F &&func, Args &&...args)
std::ostream & operator<<(std::ostream &, DefaultTimings)
std::chrono::nanoseconds wall_time
Measures the number of invocations of a specific piece of code and its run time.
Timed(batmat::DefaultTimings &time)
batmat::DefaultTimings & time
clock::time_point wall_start_time
std::chrono::steady_clock clock
Timed & operator=(const Timed &)=delete
Timed(const Timed &)=delete