Celero
ExperimentResult.h
1 #pragma once
2 
20 
21 #include <celero/Export.h>
22 #include <celero/Pimpl.h>
23 #include <celero/Statistics.h>
24 #include <celero/TestFixture.h>
25 
26 #include <string>
27 
28 namespace celero
29 {
30  class Experiment;
31  class UserDefinedMeasurementCollector;
32 
38  class CELERO_EXPORT ExperimentResult
39  {
40  public:
41  explicit ExperimentResult(Experiment* x);
42 
44 
48  Experiment* getExperiment() const;
49 
53  void setProblemSpaceValue(std::shared_ptr<celero::TestFixture::ExperimentValue> x, double scale = 1.0);
54 
58  std::shared_ptr<celero::TestFixture::ExperimentValue> getProblemSpace() const;
59 
63  int64_t getProblemSpaceValue() const;
64 
68  double getProblemSpaceValueScale() const;
69 
73  uint64_t getProblemSpaceIterations() const;
74 
78  const Statistics<int64_t>& getTimeStatistics() const;
79 
83  const Statistics<int64_t>& getRAMStatistics() const;
84 
88  void addRunTimeSample(const uint64_t x);
89 
93  void addMemorySample(const int64_t x);
94 
98  uint64_t getRunTime() const;
99 
103  int64_t getRAM() const;
104 
110  double getUsPerCall() const;
111 
117  double getCallsPerSecond() const;
118 
124  double getUnitsPerSecond() const;
125 
132  double getBaselineMeasurement() const;
133 
137  void setComplete(bool x);
138 
142  bool getComplete() const;
143 
147  void setFailure(bool x);
148 
152  bool getFailure() const;
153 
157  void setUserDefinedMeasurements(std::shared_ptr<UserDefinedMeasurementCollector> x);
158 
162  std::shared_ptr<UserDefinedMeasurementCollector> getUserDefinedMeasurements() const;
163 
164  private:
169 
173  class Impl;
174 
178  Pimpl<Impl> pimpl;
179  };
180 } // namespace celero
181 
Definition: ExperimentResult.h:38
Definition: Archive.h:25
Definition: ExperimentResult.cpp:33
Definition: Pimpl.h:36
Definition: Experiment.h:36