9 #ifndef CPPBENCHMARK_BENCHMARK_BASE_H
10 #define CPPBENCHMARK_BENCHMARK_BASE_H
18 class LauncherHandler;
35 template<
typename... Types>
67 std::vector<std::shared_ptr<PhaseCore>>
_phases;
bool _launched
Benchmark launched flag.
BenchmarkBase(const std::string &name, Types... settings)
Default class constructor.
virtual int CountLaunches() const
Get the count of benchmark launches.
BenchmarkBase & operator=(const BenchmarkBase &)=delete
Settings _settings
Benchmark settings.
static void UpdateBenchmarkNames(std::vector< std::shared_ptr< PhaseCore >> &phases)
Update benchmark names for the given benchmark phases collection.
const Settings & settings() const
Get benchmark settings.
void InitBenchmarkContext(Context &context)
Initialize benchmark context.
static void UpdateBenchmarkThreads(std::vector< std::shared_ptr< PhaseCore >> &phases)
Update benchmark threads metrics for the given benchmark phases collection.
BenchmarkBase(BenchmarkBase &&)=delete
BenchmarkBase(const BenchmarkBase &)=delete
const std::string & name() const
Get benchmark name.
BenchmarkBase & operator=(BenchmarkBase &&)=delete
std::string _name
Benchmark name.
static void UpdateBenchmarkOperations(std::vector< std::shared_ptr< PhaseCore >> &phases)
Update benchmark operations for the given benchmark phases collection.
virtual ~BenchmarkBase()=default
virtual void Launch(int ¤t, int total, LauncherHandler &handler)
Get the count of benchmark launches.
BenchmarkBase(const std::string &name, const Settings &settings)
Alternative class constructor.
static void UpdateBenchmarkMetrics(std::vector< std::shared_ptr< PhaseCore >> &phases)
Update benchmark metrics for the given benchmark phases collection.
std::vector< std::shared_ptr< PhaseCore > > _phases
Benchmark phases.
Benchmark running context.
Dynamic benchmarks executor class.
Benchmark running context definition.
C++ Benchmark project definitions.
Benchmark phase core definition.
Benchmark settings definition.