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  }
32  static Clock now();
33  const Clock& operator= (const echrono::Clock& _obj );
34  bool operator== (const echrono::Clock& _obj) const;
35  bool operator!= (const echrono::Clock& _obj) const;
36  bool operator< (const echrono::Clock& _obj) const;
37  bool operator<= (const echrono::Clock& _obj) const;
38  bool operator> (const echrono::Clock& _obj) const;
39  bool operator>= (const echrono::Clock& _obj) const;
40  const Clock& operator+= (const echrono::Duration& _obj);
41  Clock operator+ (const echrono::Duration& _obj) const;
42  const Clock& operator-= (const echrono::Duration& _obj);
43  Clock operator- (const echrono::Duration& _obj) const;
44  Duration operator- (const echrono::Clock& _obj) const;
45  void reset();
46  };
47  std::ostream& operator <<(std::ostream& _os, const echrono::Clock& _obj);
48 }
49 
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