IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Chrono.h
1 // Chrono.h:
3 // ---------
4 //
14 
15 #ifndef __IPSDKUTIL_CHRONO_H__
16 #define __IPSDKUTIL_CHRONO_H__
17 
18 // suppression warnings
19 // warning C4275: interface non dll class 'boost::noncopyable_::noncopyable' utilisée comme base d'une interface dll class 'ipsdk::Chrono'
20 // warning C4251: 'ipsdk::Chrono::_start' : class 'boost::chrono::time_point<Clock>' nécessite une interface DLL pour être utilisé(e) par les clients de class 'ipsdk::Chrono'
21 #pragma warning (push)
22 #pragma warning (disable : 4275 4251)
23 
25 #include <boost/noncopyable.hpp>
26 #include <boost/chrono/typeof/boost/chrono/chrono.hpp>
27 
28 namespace ipsdk {
29 
32 
33 class IPSDKUTIL_API Chrono : public boost::noncopyable
34 {
35 public:
38  Chrono();
39  virtual ~Chrono();
41 
42 // methods
43 public:
45  bool isStarted() const;
46 
48  void start();
49 
52  double restart();
53 
56  double elapsed() const;
57 
59  double stop();
60 
61 // attributes
62 protected:
64  boost::chrono::high_resolution_clock::time_point _start;
65 };
66 
69 
70 } // end of namespace ipsdk
71 
72 #pragma warning (pop)
73 
74 #endif // __IPSDKUTIL_CHRONO_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::chrono::high_resolution_clock::time_point _start
start point for chronometer
Definition: Chrono.h:64
#define IPSDKUTIL_API
Import/Export macro for library IPSDKUtil.
Definition: IPSDKUtilExports.h:27
Chronometer class for library processing time evaluation.
Definition: Chrono.h:33
Definition of import/export macro for library.
IPSDKIMAGEPROCESSING_API processor::RulePtr isStarted(const ShapeMeasureSetAttributeConstWeakPtr &pAttribute)
function allowing to check shape measure set processing status