void Launcher::Report(Reporter& reporter) const { // Report header, system & environment reporter.ReportHeader(); reporter.ReportSystem(); reporter.ReportEnvironment(); reporter.ReportBenchmarksHeader(); // For all registered benchmarks... for (auto& benchmark : _benchmarks) { // Filter performed benchmarks if (benchmark->_launched) { // Report benchmark results reporter.ReportBenchmarkHeader(); reporter.ReportBenchmark(*benchmark, benchmark->settings()); reporter.ReportPhasesHeader(); for (auto& root_phase : benchmark->_phases) ReportPhase(reporter, *root_phase, root_phase->name()); reporter.ReportPhasesFooter(); reporter.ReportBenchmarkFooter(); } } // Report footer reporter.ReportBenchmarksFooter(); reporter.ReportFooter(); }