Steady.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;
17  class Steady {
18  private:
19  std::chrono::steady_clock::time_point m_data;
20  public:
21  Steady();
22  //Steady(const echrono::Duration& _val) {}; //value in second
23  Steady(int64_t _valNano);
24  Steady(int64_t _valSec, int64_t _valNano);
25  Steady(const std::chrono::steady_clock::time_point& _val);
26  ~Steady() {};
27  const std::chrono::steady_clock::time_point& get() const {
28  return m_data;
29  }
34  int64_t count();
35  static Steady now();
36  const Steady& operator= (const echrono::Steady& _obj );
37  bool operator== (const echrono::Steady& _obj) const;
38  bool operator!= (const echrono::Steady& _obj) const;
39  bool operator< (const echrono::Steady& _obj) const;
40  bool operator<= (const echrono::Steady& _obj) const;
41  bool operator> (const echrono::Steady& _obj) const;
42  bool operator>= (const echrono::Steady& _obj) const;
43  const Steady& operator+= (const echrono::Duration& _obj);
44  Steady operator+ (const echrono::Duration& _obj) const;
45  const Steady& operator-= (const echrono::Duration& _obj);
46  Steady operator- (const echrono::Duration& _obj) const;
47  Duration operator- (const echrono::Steady& _obj) const;
48  void reset();
49  };
50  std::ostream& operator <<(std::ostream& _os, const echrono::Steady& _obj);
51 }
52 
Definition: Duration.hpp:17
Definition: Clock.hpp:12
int64_t count()
return the number of us since start program (can be <0)
Steady is a Program start time clock.
Definition: Steady.hpp:17