cpp-stat-bench 0.24.0
Benchmark library with statistics for C++.
Loading...
Searching...
No Matches
i_plot.h
Go to the documentation of this file.
1/*
2 * Copyright 2025 MusicScience37 (Kenta Kabashima)
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
20#pragma once
21
22#include <string>
23#include <vector>
24
29
30namespace stat_bench {
31namespace plots {
32
36class IPlot {
37public:
43 [[nodiscard]] virtual auto name_for_file() const
44 -> const util::Utf8String& = 0;
45
54 virtual void write(const measurer::MeasurerName& measurer_name,
55 const BenchmarkGroupName& group_name,
56 const std::vector<measurer::Measurement>& measurements,
57 const std::string& file_path) = 0;
58
62 IPlot() = default;
63
64 IPlot(const IPlot&) = delete;
65 IPlot(IPlot&&) = delete;
66 auto operator=(const IPlot&) -> IPlot& = delete;
67 auto operator=(IPlot&&) -> IPlot& = delete;
68
72 virtual ~IPlot() = default;
73};
74
75} // namespace plots
76} // namespace stat_bench
Definition of BenchmarkGroupName class.
Class of names of groups of benchmarks.
virtual void write(const measurer::MeasurerName &measurer_name, const BenchmarkGroupName &group_name, const std::vector< measurer::Measurement > &measurements, const std::string &file_path)=0
Write a plot.
IPlot()=default
Constructor.
virtual auto name_for_file() const -> const util::Utf8String &=0
Get a name for output files.
Definition of Measurement class.
Definition of MeasurerName class.
Namespace of classes to measure time in benchmarks.
Namespace of plotting.
Definition box_plot.h:28
Namespace of utility functions and classes.
Namespace of stat_bench source codes.
STL namespace.
Definition of Utf8String class.