28#include <fmt/format.h>
29#include <mpi/communicator.hpp>
34namespace triqs::mc_tools {
37 if (enable_timer_) timer_.start();
38 ptr_->collect_results(c);
39 if (enable_timer_) timer_.stop();
43 if (enable_report_)
return ptr_->report();
48 if (is_measure_set_) {
49 auto str = fmt::format(
"{}Measure set {}: Duration = {:.4f}\n", prefix, name,
duration());
50 return str + ptr_->ms_get_timings(prefix +
" ");
52 return fmt::format(
"{}Measure {}: Duration = {:.4f}\n", prefix, name,
duration());
57 if (is_measure_set_)
return ptr_->ms_names();
62 if (enable_timer_)
return static_cast<double>(timer_);
Provides type erasure for MC measurements.