From 3c9a1bbe5e7aaafd35f8d49ad8755cee0baf64da Mon Sep 17 00:00:00 2001 From: Lukas W Date: Wed, 22 Nov 2017 20:38:10 +0100 Subject: [PATCH] Fix Clang compilation with gig --- include/MicroTimer.h | 32 ++++---------------------------- include/MixerProfiler.h | 1 + src/core/CMakeLists.txt | 1 + src/core/MicroTimer.cpp | 27 +++++++++++++++++++++++++++ 4 files changed, 33 insertions(+), 28 deletions(-) create mode 100644 src/core/MicroTimer.cpp diff --git a/include/MicroTimer.h b/include/MicroTimer.h index 523b691e9..2026619e2 100644 --- a/include/MicroTimer.h +++ b/include/MicroTimer.h @@ -25,42 +25,18 @@ #ifndef MICRO_TIMER #define MICRO_TIMER -#include "lmmsconfig.h" - #include -#include -#include "lmms_basics.h" - class MicroTimer { - using clock = std::chrono::steady_clock; using time_point = std::chrono::steady_clock::time_point; - static_assert (std::ratio_less_equal::value, "MicroTimer: steady_clock doesn't support microsecond resolution"); - public: - inline MicroTimer() - { - reset(); - } - - inline ~MicroTimer() - { - } - - inline void reset() - { - begin = clock::now(); - } - - inline int elapsed() const - { - auto now = clock::now(); - return std::chrono::duration_cast>(now - begin).count(); - } + MicroTimer(); + ~MicroTimer(); + void reset(); + int elapsed() const; private: time_point begin; diff --git a/include/MixerProfiler.h b/include/MixerProfiler.h index c519b767a..0c46c34cb 100644 --- a/include/MixerProfiler.h +++ b/include/MixerProfiler.h @@ -27,6 +27,7 @@ #include +#include "lmms_basics.h" #include "MicroTimer.h" class MixerProfiler diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 604a63c04..49686f691 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -34,6 +34,7 @@ set(LMMS_SRCS core/MemoryHelper.cpp core/MemoryManager.cpp core/MeterModel.cpp + core/MicroTimer.cpp core/Mixer.cpp core/MixerProfiler.cpp core/MixerWorkerThread.cpp diff --git a/src/core/MicroTimer.cpp b/src/core/MicroTimer.cpp new file mode 100644 index 000000000..ba94f1c9a --- /dev/null +++ b/src/core/MicroTimer.cpp @@ -0,0 +1,27 @@ +#include "MicroTimer.h" + +using namespace std; +using namespace std::chrono; + +static_assert(ratio_less_equal::value, + "MicroTimer: steady_clock doesn't support microsecond resolution"); + +MicroTimer::MicroTimer() +{ + reset(); +} + +MicroTimer::~MicroTimer() +{ +} + +void MicroTimer::reset() +{ + begin = steady_clock::now(); +} + +int MicroTimer::elapsed() const +{ + auto now = steady_clock::now(); + return std::chrono::duration_cast>(now - begin).count(); +}