openPilotLog

atimer.h
1 /*
2 *openPilot Log - A FOSS Pilot Logbook Application
3 *Copyright (C) 2020 Felix Turowsky
4 *
5 *This program is free software: you can redistribute it and/or modify
6 *it under the terms of the GNU General Public License as published by
7 *the Free Software Foundation, either version 3 of the License, or
8 *(at your option) any later version.
9 *
10 *This program is distributed in the hope that it will be useful,
11 *but WITHOUT ANY WARRANTY; without even the implied warranty of
12 *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 *GNU General Public License for more details.
14 *
15 *You should have received a copy of the GNU General Public License
16 *along with this program. If not, see <https://www.gnu.org/licenses/>.
17 */
18 #ifndef ATIMER_H
19 #define ATIMER_H
20
21 #include <QObject>
22 #include <chrono>
23 #include <QDebug>
24 #include "src/testing/adebug.h"
25
35 class ATimer : public QObject
36 {
37 Q_OBJECT
38 public:
39 ATimer(QObject* parent = nullptr);
40 ~ATimer();
41
45 long timeNow();
46 private:
47
48 std::chrono::high_resolution_clock::time_point start;
49
50 std::chrono::high_resolution_clock::time_point intermediate_point;
51
52 std::chrono::high_resolution_clock::time_point stop;
53
54 double duration;
55
56 };
57
58
59 #endif // ATIMER_H
ATimer::timeNow
long timeNow()
timeNow takes an intermediate timing and returns miliseconds elapsed.
Definition: atimer.cpp:46
ATimer
The ATimer class provides an easy to use performance timer.
Definition: atimer.h:36