Clock.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <string>
9 #include <etk/types.hpp>
10 #include <chrono>
11 
12 namespace echrono {
13  class Duration;
14  class Steady;
18  class Clock {
19  private:
20  std::chrono::steady_clock::time_point m_data;
21  public:
22  Clock();
23  //Clock(const echrono::Duration& _val) {}; //value in second
24  Clock(int64_t _valNano);
25  Clock(int64_t _valSec, int64_t _valNano);
26  Clock(const std::chrono::steady_clock::time_point& _val);
27  Clock(const echrono::Steady& _val);
28  ~Clock() {};
29  const std::chrono::steady_clock::time_point& get() const {
30  return m_data;
31  }
36  int64_t count();
37  static Clock now();
38  const Clock& operator= (const echrono::Clock& _obj );
39  bool operator== (const echrono::Clock& _obj) const;
40  bool operator!= (const echrono::Clock& _obj) const;
41  bool operator< (const echrono::Clock& _obj) const;
42  bool operator<= (const echrono::Clock& _obj) const;
43  bool operator> (const echrono::Clock& _obj) const;
44  bool operator>= (const echrono::Clock& _obj) const;
45  const Clock& operator+= (const echrono::Duration& _obj);
46  Clock operator+ (const echrono::Duration& _obj) const;
47  const Clock& operator-= (const echrono::Duration& _obj);
48  Clock operator- (const echrono::Duration& _obj) const;
49  Duration operator- (const echrono::Clock& _obj) const;
50  void reset();
51  };
52  std::ostream& operator <<(std::ostream& _os, const echrono::Clock& _obj);
53 }
54 
int64_t count()
return the number of us since start of clock (can be <0)
Definition: Duration.hpp:17
Definition: Clock.hpp:12
Clock is a compleate virtual clock that is used to virtualize the urrent clock used (can be non real-...
Definition: Clock.hpp:18
Steady is a Program start time clock.
Definition: Steady.hpp:17