cpuwatch_rt.hpp
Go to the documentation of this file.
1 
11 /*****************************************************************************
12 ** Ifdefs
13 *****************************************************************************/
14 
15 #ifndef ECL_TIME_CPUWATCH_POS_HPP_
16 #define ECL_TIME_CPUWATCH_POS_HPP_
17 
18 /*****************************************************************************
19 ** Platform Check
20 *****************************************************************************/
21 
22 #include <ecl/config.hpp>
23 
24 #if defined(ECL_IS_POSIX)
25  // monotonic clock, cpu clock -> clock_gettime; clock_selection -> clock_nanosleep
26  #if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK) >= 0L && defined(_POSIX_CLOCK_SELECTION) && (_POSIX_CLOCK_SELECTION) >= 0L
27 
28 /*****************************************************************************
29 ** Includes
30 *****************************************************************************/
31 
32 #include <ecl/config/macros.hpp>
33 #include "timestamp.hpp"
34 #include "macros.hpp"
35 
36 /*****************************************************************************
37 ** Namespaces
38 *****************************************************************************/
39 
40 namespace ecl {
41 
42 /*****************************************************************************
43 ** Classes
44 *****************************************************************************/
72 class ecl_time_PUBLIC CpuWatch
73 {
74  public:
79  CpuWatch();
80 
81  virtual ~CpuWatch() {}
88  void restart();
89 
96  TimeStamp elapsed();
103  TimeStamp split();
104 
105  private:
106  TimeStamp start_time, split_time;
107  timespec tmp; // use for temporary cacluations.
108 };
109 
110 }; // namespace ecl
111 
112 #endif /* MANY POSIX TIME REQ'MENTS */
113 #endif /* ECL_IS_POSIX */
114 #endif /* ECL_TIME_CPUWATCH_POS_HPP_ */
#define ecl_time_PUBLIC


xbot_driver
Author(s): Roc, wangpeng@droid.ac.cn
autogenerated on Sat Oct 10 2020 03:27:37