22 Q_DISABLE_COPY(QBasicTimer)
26 using Duration = QAbstractEventDispatcher::Duration;
28 constexpr QBasicTimer()
noexcept : m_id{Qt::TimerId::Invalid} {}
29 ~QBasicTimer() {
if (isActive()) stop(); }
31 QBasicTimer(QBasicTimer &&other)
noexcept
32 : m_id{std::exchange(other.m_id, Qt::TimerId::Invalid)}
35 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QBasicTimer)
37 void swap(QBasicTimer &other)
noexcept { std::swap(m_id, other.m_id); }
39 bool isActive()
const noexcept {
return m_id != Qt::TimerId::Invalid; }
40 int timerId()
const noexcept {
return qToUnderlying(id()); }
41 Qt::TimerId id()
const noexcept {
return m_id; }
42 QT_CORE_INLINE_SINCE(6, 5)
43 void start(
int msec, QObject *obj);
44 QT_CORE_INLINE_SINCE(6, 5)
45 void start(
int msec, Qt::TimerType timerType, QObject *obj);
47#if QT_CORE_REMOVED_SINCE(6
, 9
)
48 void start(std::chrono::milliseconds duration, QObject *obj);
49 void start(std::chrono::milliseconds duration, Qt::TimerType timerType, QObject *obj);
51 void start(Duration duration, QObject *obj)
52 { start(duration, Qt::CoarseTimer, obj); }
53 void start(Duration duration, Qt::TimerType timerType, QObject *obj);