Fix Clang compilation with gig

This commit is contained in:
Lukas W
2017-11-22 20:38:10 +01:00
parent 1531fb9e1a
commit 3c9a1bbe5e
4 changed files with 33 additions and 28 deletions

View File

@@ -25,42 +25,18 @@
#ifndef MICRO_TIMER
#define MICRO_TIMER
#include "lmmsconfig.h"
#include <chrono>
#include <cstdlib>
#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<clock::duration::period,
std::micro>::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<std::chrono::duration<int, std::micro>>(now - begin).count();
}
MicroTimer();
~MicroTimer();
void reset();
int elapsed() const;
private:
time_point begin;

View File

@@ -27,6 +27,7 @@
#include <QFile>
#include "lmms_basics.h"
#include "MicroTimer.h"
class MixerProfiler

View File

@@ -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

27
src/core/MicroTimer.cpp Normal file
View File

@@ -0,0 +1,27 @@
#include "MicroTimer.h"
using namespace std;
using namespace std::chrono;
static_assert(ratio_less_equal<steady_clock::duration::period, micro>::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<std::chrono::duration<int, std::micro>>(now - begin).count();
}