ADUL
Collection of reusable C++ utilities
Loading...
Searching...
No Matches
time.hpp
Go to the documentation of this file.
1
2#ifndef ADUL_TIME_HPP
3
4#define ADUL_TIME_HPP
5
6#include <chrono>
7#include <vector>
8
9#include "exceptions.hpp"
10
11
12namespace adul {
13
20namespace time {
21
22 //\cond
23 namespace chrono {
24 using namespace std::chrono;
25 }
26 //\endcond
27
28 class Clock;
29
30 class DurationsClock;
31}
32
40
41protected:
42 chrono::steady_clock::time_point startPoint;
43 bool flagReady = false;
44public:
45
46 void start();
47
48 void stop();
49
50 bool isReady() const;
51
52 chrono::steady_clock::duration timeElapsed() const;
53};
54
63
64protected:
65 std::vector<chrono::steady_clock::duration> durations;
66
67 chrono::steady_clock::time_point startPoint;
68
69 chrono::steady_clock::duration currentDuration;
70
71 bool flagReady = false;
72
73public:
75
76 chrono::steady_clock::duration getCurrentDuration() const;
77
79
81
83
85
87
88 const std::vector<chrono::steady_clock::duration>& getSavedDurations() const;
89};
90
91};
92
93#endif
wrapper for part of std::chrono::steady_clock STL interface
Definition time.hpp:39
bool flagReady
Definition time.hpp:43
bool isReady() const
chrono::steady_clock::time_point startPoint
Definition time.hpp:42
chrono::steady_clock::duration timeElapsed() const
This class represent the sequence of durations and interface of working with them.
Definition time.hpp:62
chrono::steady_clock::duration currentDuration
Definition time.hpp:69
chrono::steady_clock::time_point startPoint
Definition time.hpp:67
std::vector< chrono::steady_clock::duration > durations
Definition time.hpp:65
const std::vector< chrono::steady_clock::duration > & getSavedDurations() const
chrono::steady_clock::duration getCurrentDuration() const
bool flagReady
Definition time.hpp:71
project api's namespace
Definition atm.hpp:4