RealTimer.h
1/***************************************************************************
2 *
3 * Copyright (C) 2003 by Haydon Knight
4 * Licensed under the Academic Free License version 2.1
5 *
6 ***************************************************************************/
7// psrchive/Util/genutil/RealTimer.h
8
9#ifndef __RealTimer_H
10#define __RealTimer_H
11
12#include <iostream>
13#include <sys/time.h>
14
15#include "Reference.h"
16
17class RealTimer : public Reference::Able {
18 public:
19
20 RealTimer();
21 virtual ~RealTimer();
22 const RealTimer& operator += (const RealTimer&);
23
25 void start();
26
28 void stop();
29
31 void lap();
32
34 void reset();
35
37 double get_elapsed() const;
38
40 double get_total() const;
41
42 const char* elapsedString ();
43
44 static const char* timeString (double time);
45
46 private:
47 struct timeval time1, time2;
48
49 double elapsed; // the time elapsed between start() and stop() calls
50 double total_elapsed; // cummulative sum over the life of this instance
51};
52
53std::ostream& operator<< (std::ostream& ostr, const RealTimer& clock);
54
55#endif
56
Manages Reference::To references to the instance.
Definition ReferenceAble.h:35

Generated using doxygen 1.14.0