mirror of
https://github.com/NohamR/RMHook-Win.git
synced 2026-05-25 12:27:12 +00:00
57 lines
1.6 KiB
C++
57 lines
1.6 KiB
C++
// Copyright (C) 2016 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
|
|
#ifndef QELAPSEDTIMER_H
|
|
#define QELAPSEDTIMER_H
|
|
|
|
#include <QtCore/qglobal.h>
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
|
|
class Q_CORE_EXPORT QElapsedTimer
|
|
{
|
|
public:
|
|
enum ClockType {
|
|
SystemTime,
|
|
MonotonicClock,
|
|
TickCounter Q_DECL_ENUMERATOR_DEPRECATED_X(
|
|
"Not supported anymore. Use PerformanceCounter instead."),
|
|
MachAbsoluteTime,
|
|
PerformanceCounter
|
|
};
|
|
|
|
constexpr QElapsedTimer() = default;
|
|
|
|
static ClockType clockType() noexcept;
|
|
static bool isMonotonic() noexcept;
|
|
|
|
void start() noexcept;
|
|
qint64 restart() noexcept;
|
|
void invalidate() noexcept;
|
|
bool isValid() const noexcept;
|
|
|
|
qint64 nsecsElapsed() const noexcept;
|
|
qint64 elapsed() const noexcept;
|
|
bool hasExpired(qint64 timeout) const noexcept;
|
|
|
|
qint64 msecsSinceReference() const noexcept;
|
|
qint64 msecsTo(const QElapsedTimer &other) const noexcept;
|
|
qint64 secsTo(const QElapsedTimer &other) const noexcept;
|
|
|
|
friend bool operator==(const QElapsedTimer &lhs, const QElapsedTimer &rhs) noexcept
|
|
{ return lhs.t1 == rhs.t1 && lhs.t2 == rhs.t2; }
|
|
friend bool operator!=(const QElapsedTimer &lhs, const QElapsedTimer &rhs) noexcept
|
|
{ return !(lhs == rhs); }
|
|
|
|
friend bool Q_CORE_EXPORT operator<(const QElapsedTimer &lhs, const QElapsedTimer &rhs) noexcept;
|
|
|
|
private:
|
|
qint64 t1 = Q_INT64_C(0x8000000000000000);
|
|
qint64 t2 = Q_INT64_C(0x8000000000000000);
|
|
};
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
#endif // QELAPSEDTIMER_H
|