IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseBenchSuite.h
1 // BaseBenchSuite.h:
3 // -----------------
4 //
14 
15 #ifndef __BENCHMARKTOOLS_BASEBENCHSUITE_H__
16 #define __BENCHMARKTOOLS_BASEBENCHSUITE_H__
17 
18 // suppression warnings
19 // warning C4275: non dll-interface class 'boost::noncopyable_::noncopyable' used as base for dll-interface class 'ipsdk::bench::BaseBenchSuite'
20 // warning C4251: 'ipsdk::bench::BaseBenchSuite::_benchCaseColl' : class 'std::vector<_Ty>' needs to have dll-interface to be used by clients of class 'ipsdk::bench::BaseBenchSuite'
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 <IPSDKBaseData/ToolTip/BaseToolTip.h>
29 #include <boost/noncopyable.hpp>
30 #include <vector>
31 
32 namespace ipsdk {
33 namespace bench {
34 
37 
38 class IPSDKBENCHMARKTOOLS_API BaseBenchSuite : public boost::noncopyable,
39  public BaseToolTip
40 {
41 public:
45  virtual ~BaseBenchSuite() = 0;
47 
48 // methods
49 public:
51  void addBenchCase(const BenchCasePtr& pBenchCase);
52 
55  BoolResult run(BenchSuiteResult& result);
56 
57 // attributes
58 private:
60  typedef std::vector<BenchCasePtr> BenchCaseColl;
61 
63  BenchCaseColl _benchCaseColl;
64 };
65 
68 
69 } // end of namespace bench
70 } // end of namespace ipsdk
71 
72 #pragma warning (pop)
73 
74 #endif // __BENCHMARKTOOLS_BASEBENCHSUITE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::shared_ptr< BaseBenchCase > BenchCasePtr
shared pointer to benchmark case
Definition: BenchmarkTypes.h:24
#define IPSDKBENCHMARKTOOLS_API
Import/Export macro for library IPSDKBenchmarkTools.
Definition: IPSDKBenchmarkToolsExports.h:25
Definition: BenchmarkDataItem.h:243
Base class for benchmark suites.
Definition: BaseBenchSuite.h:38
Base class for objects with name and tool tip informations.
Definition: BaseToolTip.h:27
Definition of import/export macro for library.