IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BenchmarkManager.h
1 // BenchmarkManager.h:
3 // -------------------
4 //
14 
15 #ifndef __BENCHMARKTOOLS_BENCHMARKMANAGER_H__
16 #define __BENCHMARKTOOLS_BENCHMARKMANAGER_H__
17 
18 // suppression warnings
19 // warning C4275: non dll-interface class 'boost::noncopyable_::noncopyable' used as base for dll-interface class 'ipsdk::bench::BenchmarkManager'
20 // warning C4251: 'ipsdk::bench::BenchmarkManager::_benchSuiteColl' : class 'std::vector<_Ty>' needs to have dll-interface to be used by clients of class 'ipsdk::bench::BenchmarkManager'
21 #pragma warning (push)
22 #pragma warning (disable : 4275 4251)
23 
25 #include <Benchmark/IPSDKBenchmarkTools/BenchmarkTypes.h>
26 #include <Benchmark/IPSDKBenchmarkTools/BenchmarkDataItem.h>
27 #include <IPSDKUtil/Tools/ProcessingResult.h>
28 #include <boost/noncopyable.hpp>
29 #include <vector>
30 
31 namespace ipsdk {
32 namespace bench {
33 
36 
37 class IPSDKBENCHMARKTOOLS_API BenchmarkManager : public boost::noncopyable
38 {
39 public:
41  static BenchmarkManager& getInstance();
42 
43 private:
49 
50 // methods
51 public:
53  void addBenchSuite(const BenchSuitePtr& pBenchSuite);
54 
57  BoolResult run(const std::string& benchmarkName,
58  BenchmarkResult& result);
59 
60 // attributes
61 protected:
63  typedef std::vector<BenchSuitePtr> BenchSuiteColl;
64 
67 };
68 
71 
72 } // end of namespace bench
73 } // end of namespace ipsdk
74 
75 #pragma warning (pop)
76 
77 #endif // __BENCHMARKTOOLS_BENCHMARKMANAGER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: BenchmarkDataItem.h:360
Manager for benchmarks.
Definition: BenchmarkManager.h:37
BenchSuiteColl _benchSuiteColl
collection of benchmark suites associated to object
Definition: BenchmarkManager.h:66
#define IPSDKBENCHMARKTOOLS_API
Import/Export macro for library IPSDKBenchmarkTools.
Definition: IPSDKBenchmarkToolsExports.h:25
boost::shared_ptr< BaseBenchSuite > BenchSuitePtr
shared pointer to benchmark suite
Definition: BenchmarkTypes.h:33
std::vector< BenchSuitePtr > BenchSuiteColl
collection of benchmark suites
Definition: BenchmarkManager.h:63
Definition of import/export macro for library.