| 639 | : benchmark::ConsoleReporter(opts) {} |
| 640 | |
| 641 | void ReportRuns(const std::vector<Run>& reports) override { |
| 642 | for (const auto& run : reports) { |
| 643 | const std::string group_name = BenchmarkGroupName(run); |
| 644 | const bool group_changed = !printed_header_ || group_name != current_group_; |
| 645 | bool print_header = group_changed; |
| 646 | print_header |= |
| 647 | (output_options_ & OO_Tabular) && |
| 648 | (!SameCounterNames(run.counters, prev_counters_)); |
| 649 | if (print_header) { |
| 650 | if (printed_header_) { |
| 651 | GetOutputStream() << "\n"; |
| 652 | } |
| 653 | current_group_ = group_name; |
| 654 | GetOutputStream() << "[" << current_group_ << "]\n"; |
| 655 | printed_header_ = true; |
| 656 | prev_counters_ = run.counters; |
| 657 | PrintHeader(run); |
| 658 | } |
| 659 | PrintRunData(run); |
| 660 | } |
| 661 | } |
| 662 | |
| 663 | protected: |
| 664 | void PrintHeader(const Run& run) override { |
nothing calls this directly
no test coverage detected