SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
BenchmarkSet.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <filesystem>
4 #include <iostream>
5 #include <vector>
6 
7 namespace benchmax {
8 
9 /**
10  * A set of benchmarks from some common base directory.
11  */
12 class BenchmarkSet {
13 private:
14  /// List of files in this benchmark set.
15  std::vector<std::filesystem::path> mFilesList;
16 
17  /// Recursively add all benchmarks from this path.
18  void add_recursive(const std::filesystem::path& path);
19 public:
20  /// Recursively find all benchmarks from this directory.
21  void add_directory(const std::filesystem::path& dir);
22  /// Number of files.
23  std::size_t size() const {
24  return mFilesList.size();
25  }
26  /// Begin iterator.
27  auto begin() const {
28  return mFilesList.begin();
29  }
30  /// End iterator.
31  auto end() const {
32  return mFilesList.end();
33  }
34 };
35 
36 }
A set of benchmarks from some common base directory.
Definition: BenchmarkSet.h:12
void add_directory(const std::filesystem::path &dir)
Recursively find all benchmarks from this directory.
void add_recursive(const std::filesystem::path &path)
Recursively add all benchmarks from this path.
std::vector< std::filesystem::path > mFilesList
List of files in this benchmark set.
Definition: BenchmarkSet.h:15
auto begin() const
Begin iterator.
Definition: BenchmarkSet.h:27
auto end() const
End iterator.
Definition: BenchmarkSet.h:31
std::size_t size() const
Number of files.
Definition: BenchmarkSet.h:23