PhoenixMock  1.8.7
Tools to split/merge/print mock used in Phoenix
PTimer.cpp
Go to the documentation of this file.
1 /***************************************
2  Auteur : Pierre Aubert
3  Mail : pierre.aubert@lapp.in2p3.fr
4  Licence : CeCILL-C
5 ****************************************/
6 
7 #include "PTimer.h"
8 
10 
12 PTimer::PTimer(size_t ellapsedTime)
13  :p_ellapsedTime(ellapsedTime)
14 {
16 }
17 
19 
21 PTimer::PTimer(const PTimer & other){
22  copyPTimer(other);
23 }
24 
27 
28 }
29 
31 
35  copyPTimer(other);
36  return *this;
37 }
38 
41  p_startTime = std::chrono::steady_clock::now();
42 }
43 
45 
47 void PTimer::setEllapsedTime(size_t ellapsedTime){
48  p_ellapsedTime = ellapsedTime;
49 }
50 
52 
54 size_t PTimer::getEllapsedTime() const{
55  return p_ellapsedTime;
56 }
57 
59 
62  size_t ellapsedTimeNs(0lu);
63  return isTime(ellapsedTimeNs);
64 }
65 
67 
70 bool PTimer::isTime(size_t & ellapsedTimeNs){
71  std::chrono::nanoseconds ellapsedTime(std::chrono::steady_clock::now() - p_startTime);
72  ellapsedTimeNs = ellapsedTime.count();
73  bool b(ellapsedTimeNs >= p_ellapsedTime);
74  if(b){
75  start();
76  }
77  return b;
78 }
79 
81 
83 void PTimer::copyPTimer(const PTimer & other){
85  p_startTime = other.p_startTime;
86 }
87 
90  start();
91 }
92 
93 
94 
95 
96 
PTimer::PTimer
PTimer(size_t ellapsedTime=1lu)
Default constructor of PTimer.
Definition: PTimer.cpp:12
PTimer::initialisationPTimer
void initialisationPTimer()
Initialisation function of the class PTimer.
Definition: PTimer.cpp:89
PTimer
Timer which allows to call function every time a defined ellapsed time is out.
Definition: PTimer.h:13
PTimer.h
PTimer::operator=
PTimer & operator=(const PTimer &other)
Definition of equal operator of PTimer.
Definition: PTimer.cpp:34
PTimer::isTime
bool isTime()
Returns true if the given ellapsed time between to call is passed.
Definition: PTimer.cpp:61
PTimer::copyPTimer
void copyPTimer(const PTimer &other)
Copy function of PTimer.
Definition: PTimer.cpp:83
PTimer::~PTimer
virtual ~PTimer()
Destructor of PTimer.
Definition: PTimer.cpp:26
PTimer::p_startTime
std::chrono::time_point< std::chrono::steady_clock > p_startTime
Clock of the PTimer.
Definition: PTimer.h:39
PTimer::p_ellapsedTime
size_t p_ellapsedTime
Ellapsed time between to isTime() returns true (in nanoseconds)
Definition: PTimer.h:41
PTimer::setEllapsedTime
void setEllapsedTime(size_t ellapsedTime)
Set the ellapsed time in nanoseconds.
Definition: PTimer.cpp:47
PTimer::getEllapsedTime
size_t getEllapsedTime() const
Get the ellapsed time in nanoseconds.
Definition: PTimer.cpp:54
PTimer::start
void start()
Start the current clock.
Definition: PTimer.cpp:40