32 const auto& group_name = bench_case->info().group_name();
34 group.add(std::move(bench_case));
39 const auto [iter, inserted] = groups_.try_emplace(name, name);
44 for (
auto iter = groups_.begin(); iter < groups_.end();) {
45 auto& group = iter->second;
46 group.filter_by(filter);
47 if (group.cases().empty()) {
48 iter = groups_.erase(iter);
Definition of BenchmarkCaseName class.
Definition of BenchmarkCaseRegistry class.
Definition of BenchmarkFullName class.
Definition of BenchmarkGroupName class.
Class of names of groups of benchmarks.
void filter_by(const filters::ComposedFilter &filter)
Filter.
void add(std::shared_ptr< IBenchmarkCase > bench_case)
Add a case.
static auto instance() -> BenchmarkCaseRegistry &
Get an instance of the registry.
auto benchmarks() const noexcept -> const util::OrderedMap< BenchmarkGroupName, BenchmarkGroup > &
Get benchmarks.
auto add_or_get_group(const BenchmarkGroupName &name) -> BenchmarkGroup &
Add a group if not exists, and return it.
BenchmarkCaseRegistry()=default
Constructor.
Class of groups of cases in benchmarks.
Class of composed filters of benchmarks.
Namespace of internal implementation.
Namespace of utility functions and classes.
Namespace of stat_bench source codes.