Celero
TestVector.h
1 #pragma once
2 
20 
21 #include <celero/Benchmark.h>
22 #include <celero/Export.h>
23 #include <celero/Pimpl.h>
24 
25 #include <functional>
26 
27 namespace celero
28 {
34  class CELERO_EXPORT TestVector
35  {
36  public:
37  ~TestVector();
38 
39  TestVector(const TestVector&) = delete;
40  TestVector& operator=(TestVector const& other) = delete;
41 
42  static TestVector& Instance();
43 
44  void push_back(std::shared_ptr<Benchmark> x);
45 
46  void clear();
47  size_t size() const;
48 
49  bool containsGroup(const std::string& x) const;
50 
51  std::shared_ptr<Benchmark> operator[](size_t x);
52  std::shared_ptr<Benchmark> operator[](const std::string& x);
53 
54  private:
58  TestVector();
59 
63  class Impl;
64 
68  Pimpl<Impl> pimpl;
69  };
70 } // namespace celero
71 
Definition: Archive.h:25
Definition: Pimpl.h:36
Definition: TestVector.cpp:31
Definition: TestVector.h:34