Flow 1.0.1
Flow project: Public API.
Namespaces | Typedefs | Functions
perf_fwd.hpp File Reference

Namespaces

namespace  flow
 Catch-all namespace for the Flow project: A collection of various production-quality modules written in modern C++17, originally by ygoldfel.
 
namespace  flow::perf
 Flow module containing tools for profiling and optimization.
 

Typedefs

using flow::perf::Checkpointing_timer_ptr = boost::shared_ptr< Checkpointing_timer >
 Short-hand for ref-counting pointer to Checkpointing_timer. More...
 

Functions

template<typename Accumulator , typename Func >
auto flow::perf::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 clock type clock_type – as raw ticks of perf::Duration – to accumulator. More...
 
template<typename Accumulator , typename Func >
auto flow::perf::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 with clock type clock_type – as raw ticks of perf::Duration – to accumulator. More...
 
template<typename Accumulator , typename Handler >
auto flow::perf::timed_handler (Clock_type clock_type, Accumulator *accumulator, Handler &&handler)
 Identical to timed_function() but suitable for boost.asio-targeted handler functions. More...
 
std::ostream & flow::perf::operator<< (std::ostream &os, const Checkpointing_timer &timer)
 Prints string representation of the given Checkpointing_timer (whether with original data or an aggregated-result timer) to the given ostream. More...