Celero
Benchmark.h
1 #pragma once
2 
20 
21 #include <celero/Experiment.h>
22 #include <functional>
23 #include <memory>
24 #include <string>
25 
26 namespace celero
27 {
33  class CELERO_EXPORT Benchmark
34  {
35  public:
39  Benchmark();
40 
46  explicit Benchmark(const std::string& name);
47 
51  explicit Benchmark(const Benchmark& other);
52 
56  ~Benchmark();
57 
61  Benchmark& operator=(const Benchmark& other);
62 
66  std::string getName() const;
67 
71  void setBaseline(std::shared_ptr<Experiment> x);
72 
76  std::shared_ptr<Experiment> getBaseline() const;
77 
81  void addExperiment(std::shared_ptr<Experiment> x);
82 
86  std::shared_ptr<Experiment> getExperiment(size_t experimentIndex);
87 
91  std::shared_ptr<Experiment> getExperiment(const std::string& experimentName);
92 
96  size_t getExperimentSize() const;
97 
98  private:
102  class Impl;
103 
107  Pimpl<Impl> pimpl;
108  };
109 } // namespace celero
110 
Definition: Benchmark.h:33
Definition: Archive.h:25
Definition: Pimpl.h:36
Definition: Benchmark.cpp:28