31template<
typename Accumulator,
typename Func>
34 return [clock_type, accumulator, function = std::move(function)](
auto&&... params)
mutable
38 function(std::forward<
decltype(params)>(params)...);
46template<
typename Accumulator,
typename Func>
51 return [clock_type, accumulator, function = std::move(function)](
auto&&... params)
mutable
56 const auto result = function(std::forward<
decltype(params)>(params)...);
Time_pt_set now() const
Sample all currently enabled Clock_types' clocks and return those values, each of which is a time sta...
Flow module containing tools for profiling and optimization.
auto timed_function(Clock_type clock_type, Accumulator *accumulator, Func &&function)
Constructs a closure that times and executes void-returning function(), adding the elapsed time with ...
auto timed_function_nvr(Clock_type clock_type, Accumulator *accumulator, Func &&function)
Constructs a closure that times and executes non-void-returning function(), adding the elapsed time w...
Clock_type
Clock types supported by flow::perf module facilities, perf::Checkpointing_timer in particular.