21 Q_DISABLE_COPY(QBasicTimer)
25 using Duration = QAbstractEventDispatcher::Duration;
27 constexpr QBasicTimer()
noexcept : m_id{Qt::TimerId::Invalid} {}
28 ~QBasicTimer() {
if (isActive()) stop(); }
30 QBasicTimer(QBasicTimer &&other)
noexcept
31 : m_id{std::exchange(other.m_id, Qt::TimerId::Invalid)}
34 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QBasicTimer)
36 void swap(QBasicTimer &other)
noexcept { std::swap(m_id, other.m_id); }
38 bool isActive()
const noexcept {
return m_id != Qt::TimerId::Invalid; }
39 int timerId()
const noexcept {
return qToUnderlying(id()); }
40 Qt::TimerId id()
const noexcept {
return m_id; }
41 QT_CORE_INLINE_SINCE(6, 5)
42 void start(
int msec, QObject *obj);
43 QT_CORE_INLINE_SINCE(6, 5)
44 void start(
int msec, Qt::TimerType timerType, QObject *obj);
46#if QT_CORE_REMOVED_SINCE(6
, 9
)
47 void start(std::chrono::milliseconds duration, QObject *obj);
48 void start(std::chrono::milliseconds duration, Qt::TimerType timerType, QObject *obj);
50 void start(Duration duration, QObject *obj)
51 { start(duration, Qt::CoarseTimer, obj); }
52 void start(Duration duration, Qt::TimerType timerType, QObject *obj);