cprover
timer.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Time Stopping
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_UTIL_TIMER_H
13 #define CPROVER_UTIL_TIMER_H
14 
15 #include <string>
16 #include <iosfwd>
17 
18 #include "time_stopping.h"
19 
20 class timert
21 {
22 private:
26  long nr_starts;
27  bool started;
28 
29 public:
30  timert():
31  _total_time(0),
32  _start_time(0),
33  _latest_time(0),
34  nr_starts(0),
35  started(false)
36  {
37  }
38 
39  virtual ~timert();
40 
41  virtual void start();
42  virtual void stop();
43  virtual void clear();
44 
45  virtual time_periodt total_time() const
46  {
47  return _total_time;
48  }
49 
50  virtual fine_timet latest_time() const
51  {
52  return _latest_time;
53  }
54 
55  virtual long number_starts() const
56  {
57  return nr_starts;
58  }
59 
60  std::string output_total_time() const
61  {
62  return _total_time.as_string();
63  }
64 
65  std::string output_latest_time() const
66  {
67  return _latest_time.as_string();
68  }
69 };
70 
71 std::ostream &operator<<(std::ostream &out, const timert &timer)
72 {
73  return out << timer.total_time();
74 }
75 
76 #endif // CPROVER_UTIL_TIMER_H
std::string as_string() const
time_periodt _latest_time
Definition: timer.h:25
virtual void start()
Definition: timer.cpp:23
absolute_timet _start_time
Definition: timer.h:24
Time Stopping.
virtual ~timert()
Definition: timer.cpp:19
timert()
Definition: timer.h:30
bool started
Definition: timer.h:27
virtual fine_timet latest_time() const
Definition: timer.h:50
virtual time_periodt total_time() const
Definition: timer.h:45
Definition: timer.h:20
std::string output_latest_time() const
Definition: timer.h:65
std::ostream & operator<<(std::ostream &out, const timert &timer)
Definition: timer.h:71
virtual void stop()
Definition: timer.cpp:32
long nr_starts
Definition: timer.h:26
std::string output_total_time() const
Definition: timer.h:60
time_periodt _total_time
Definition: timer.h:23
virtual void clear()
Definition: timer.cpp:41
virtual long number_starts() const
Definition: timer.h:55