cpp-stat-bench 0.24.0
Benchmark library with statistics for C++.
Loading...
Searching...
No Matches
time_to_output_by_parameter_line_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
29
30namespace stat_bench {
31namespace plots {
32
38public:
47 CustomOutputName custom_output_name, PlotOptions options);
48
50 const TimeToOutputByParameterLinePlot&) = delete;
52 auto operator=(const TimeToOutputByParameterLinePlot&)
54 auto operator=(TimeToOutputByParameterLinePlot&&)
56
61
63 [[nodiscard]] auto name_for_file() const
64 -> const util::Utf8String& override;
65
67 void write(const measurer::MeasurerName& measurer_name,
68 const BenchmarkGroupName& group_name,
69 const std::vector<measurer::Measurement>& measurements,
70 const std::string& file_path) override;
71
72private:
81 [[nodiscard]] static auto create_name_for_file(
82 const param::ParameterName& parameter_name,
83 const CustomOutputName& custom_output_name, const PlotOptions& options)
84 -> util::Utf8String;
85
87 param::ParameterName parameter_name_;
88
90 CustomOutputName custom_output_name_;
91
93 PlotOptions options_;
94
96 util::Utf8String name_for_file_;
97};
98
99} // namespace plots
100} // namespace stat_bench
Class of names of groups of benchmarks.
Class of names of custom outputs.
Class of options for plots.
Class of names of parameters.
IPlot()=default
Constructor.
void write(const measurer::MeasurerName &measurer_name, const BenchmarkGroupName &group_name, const std::vector< measurer::Measurement > &measurements, const std::string &file_path) override
Write a plot.
TimeToOutputByParameterLinePlot(param::ParameterName parameter_name, CustomOutputName custom_output_name, PlotOptions options)
Constructor.
~TimeToOutputByParameterLinePlot() override=default
Destructor.
auto name_for_file() const -> const util::Utf8String &override
Get a name for output files.
Definition of CustomOutputName class.
Definition of IPlot class.
Namespace of classes to measure time in benchmarks.
Namespace of parameters of 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 ParameterName class.
Definition of PlotOptions class.
Definition of Utf8String class.