mt2  8bbb7ce09375b7fc0edeb89e1fe1dbb76bbd0555
timer.hpp
Go to the documentation of this file.
1 #ifndef H_TIMER
2 #define H_TIMER
3 
4 #include <ctime>
5 
6 class Timer{
7 public:
8  explicit Timer(unsigned long num_its = 0, double auto_print = 0.);
9  Timer(const Timer &) = default;
10  Timer & operator=(const Timer &) = default;
11  Timer(Timer &&) = default;
12  Timer & operator=(Timer &&) = default;
13  ~Timer() = default;
14 
15  void SetAutoPrint(double auto_print);
16  void SetNumIterations(unsigned long num_its);
17 
18  void Start();
19  void Iterate();
20 
21  double GetRemainingTime() const;
22  void PrintRemainingTime() const;
23 
24 private:
25  time_t start_time_;
26  mutable time_t last_print_;
27  unsigned long num_its_, cur_its_;
28  double auto_print_;
29 };
30 
31 #endif
~Timer()=default
Definition: timer.hpp:6
void SetAutoPrint(double auto_print)
Definition: timer.cpp:14
double GetRemainingTime() const
Definition: timer.cpp:39
unsigned long num_its_
Definition: timer.hpp:27
Timer & operator=(const Timer &)=default
unsigned long cur_its_
Definition: timer.hpp:27
time_t last_print_
Definition: timer.hpp:26
time_t start_time_
Definition: timer.hpp:25
void Iterate()
Definition: timer.cpp:28
void SetNumIterations(unsigned long num_its)
Definition: timer.cpp:18
void Start()
Definition: timer.cpp:22
void PrintRemainingTime() const
Definition: timer.cpp:49
Timer(unsigned long num_its=0, double auto_print=0.)
Definition: timer.cpp:6
double auto_print_
Definition: timer.hpp:28