QDeadlineTimer Class

QDeadlineTimerクラスは、未来の期限をマークします。詳細...

Header: #include <QDeadlineTimer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

このクラスは強く比較可能です。

注意:このクラスの関数はすべてリエントラントです。

パブリック型

enum class ForeverConstant { Forever }

パブリック関数

QDeadlineTimer()
QDeadlineTimer(Qt::TimerType timerType)
QDeadlineTimer(QDeadlineTimer::ForeverConstant, Qt::TimerType timerType = Qt::CoarseTimer)
QDeadlineTimer(qint64 msecs, Qt::TimerType type = Qt::CoarseTimer)
QDeadlineTimer(std::chrono::duration<Rep, Period> remaining, Qt::TimerType type = Qt::CoarseTimer)
QDeadlineTimer(std::chrono::time_point<Clock, Duration> deadline, Qt::TimerType type = Qt::CoarseTimer)
qint64 deadline() const
qint64 deadlineNSecs() const
bool hasExpired() const
bool isForever() const
qint64 remainingTime() const
std::chrono::nanoseconds remainingTimeAsDuration() const
qint64 remainingTimeNSecs() const
void setDeadline(qint64 msecs, Qt::TimerType timerType = Qt::CoarseTimer)
void setDeadline(std::chrono::time_point<Clock, Duration> deadline, Qt::TimerType type = Qt::CoarseTimer)
void setPreciseDeadline(qint64 secs, qint64 nsecs = 0, Qt::TimerType timerType = Qt::CoarseTimer)
void setPreciseRemainingTime(qint64 secs, qint64 nsecs = 0, Qt::TimerType timerType = Qt::CoarseTimer)
void setRemainingTime(qint64 msecs, Qt::TimerType timerType = Qt::CoarseTimer)
void setRemainingTime(std::chrono::duration<Rep, Period> remaining, Qt::TimerType type = Qt::CoarseTimer)
void setTimerType(Qt::TimerType timerType)
void swap(QDeadlineTimer &other)
Qt::TimerType timerType() const
QDeadlineTimer &operator+=(qint64 msecs)
QDeadlineTimer &operator-=(qint64 msecs)
QDeadlineTimer &operator=(std::chrono::duration<Rep, Period> remaining)
QDeadlineTimer &operator=(std::chrono::time_point<Clock, Duration> deadline_)

静的パブリック・メンバ

QDeadlineTimer addNSecs(QDeadlineTimer dt, qint64 nsecs)
QDeadlineTimer current(Qt::TimerType timerType = Qt::CoarseTimer)
bool operator!=(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)
QDeadlineTimer operator+(QDeadlineTimer dt, qint64 msecs)
QDeadlineTimer operator+(qint64 msecs, QDeadlineTimer dt)
QDeadlineTimer operator-(QDeadlineTimer dt, qint64 msecs)
bool operator<(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)
bool operator<=(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)
bool operator==(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)
bool operator>(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)
bool operator>=(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

詳細説明

QDeadlineTimer クラスは通常、将来の期限を計算し、期限が切れたかどうかを検証するために使用されます。QDeadlineTimer は、期限切れのない("forever")期限にも使用できます。これはQElapsedTimer と対になるもので、QElapsedTimer::start() が呼び出されてからどれだけの時間が経過したかを計算します。

QDeadlineTimer は、QElapsedTimer::hasExpired() と比較して、より便利な API を提供します。

このクラスの典型的な使用例は、問題の操作が開始される前に QDeadlineTimer を作成し、remainingTime() またはhasExpired() を使用して、操作を続行するかどうかを判断することです。QDeadlineTimerオブジェクトは、この操作を実行するために呼び出される関数に渡すことができます。

    void executeOperation(int msecs)
    {
        QDeadlineTimer deadline(msecs);
        do {
            if (readFromDevice(deadline.remainingTime()))
                break;
            waitForReadyRead(deadline);
        } while (!deadline.hasExpired());
    }

多くのQDeadlineTimer関数はタイムアウト値を扱いますが、その単位はすべてミリ秒です。特別な値が2つあり、waitFor などと名付けられた他の多くの Qt 関数と同じです:

  • 0: 残り時間なし。
  • -1: 残り時間が無限で、タイマーが切れることはない。

時計の参照

QDeadlineTimerはQElapsedTimerQElapsedTimer::clockType ()とQElapsedTimer::isMonotonic ()を参照)と同じクロックを使用します。

タイマーの種類

QTimerQChronoTimer のように、QDeadlineTimer はタイマーの粗さのレベルを選択することができます。タイマーを設定したり変更したりする関数にQt::PreciseTimer を渡すことで、正確なタイミングを選択できます。また、Qt::CoarseTimer を渡すことで、粗いタイミングを選択できます。Qt::VeryCoarseTimer は、現在のところQt::CoarseTimer と同じように解釈されます。

OSが粗いタイマー機能をサポートしていない場合、QDeadlineTimerはQt::PreciseTimer

QDeadlineTimerのデフォルトはQt::CoarseTimer 。これは、粗いタイミングをサポートしているオペレーティング・システムでは、そのクロック・ソースへのタイミング呼び出しがはるかに効率的であることが多いためです。粗さのレベルはオペレーティング・システムによって異なりますが、数ミリ秒のオーダーであるべきです。

std::chrono 互換性

QDeadlineTimer は、C++11 のstd::chrono API と互換性があり、std::chrono::durationstd::chrono::time_point の両方のオブジェクトから構築したり、それらのオブジェクトと比較したりできます。さらに、C++14 の時間リテラルとも完全に互換性があり、次のようにコードを記述できます:

    using namespace std::chrono;
    using namespace std::chrono_literals;

    QDeadlineTimer deadline(30s);
    device->waitForReadyRead(deadline);
    if (deadline.remainingTime<nanoseconds>() > 300ms)
        cleanup();

上の例でわかるように、QDeadlineTimerには、remainingTime ()とdeadline ()のテンプレート版があり、std::chrono オブジェクトを返すために使用できます。

QDeadlineTimerは、自身の内部クロック・ソースから、time_point オブジェクトが使用するクロック・ソースに変換する必要があるため、time_point との比較は、duration との比較ほど効率的ではないことに注意してください。また、この変換のために、デッドラインは正確ではないので、以下のコードは等しく比較されないことに注意してください:

    using namespace std::chrono;
    using namespace std::chrono_literals;
    auto now = steady_clock::now();
    QDeadlineTimer deadline(now + 1s);
    Q_ASSERT(deadline == now + 1s);

QTimeQChronoTimerQDeadlineTimerQt::TimerTypeも参照のこと

メンバ型ドキュメント

enum class QDeadlineTimer::ForeverConstant

定数説明
QDeadlineTimer::ForeverConstant::Forever0QDeadlineTimer を作成する際に使用され、期限切れにならないことを示す。

メンバ関数 ドキュメント

[constexpr noexcept] QDeadlineTimer::QDeadlineTimer()

[explicit constexpr noexcept] QDeadlineTimer::QDeadlineTimer(Qt::TimerType timerType)

期限切れのQDeadlineTimer オブジェクトを構築する。このオブジェクトの場合、remainingTime() は 0 を返す。timerType が設定されていない場合、オブジェクトはcoarse timer type を使用します。

タイマーはすでに期限切れなので、タイマー・タイプtimerType は無視してもよい。同様に、最適化のため、この関数は現在時刻の取得を試みず、過去の値を使用する。したがって、deadline ()は予期しない値を返す可能性があり、このオブジェクトを期限切れ時間の計算に使用することはできない。そのような機能が必要な場合は、QDeadlineTimer::current() を使用してください。

hasExpired()、remainingTime()、Qt::TimerTypecurrent()も参照してください

[constexpr noexcept] QDeadlineTimer::QDeadlineTimer(QDeadlineTimer::ForeverConstant, Qt::TimerType timerType = Qt::CoarseTimer)

ForeverConstant で作成された QDeadlineTimer オブジェクトに期限はありません。このようなオブジェクトの場合、remainingTime() は -1、deadline() は最大値、isForever() は true を返します。

タイマー・タイプtimerType は無視してもよい。

ForeverConstanthasExpired()、isForever()、remainingTime()、timerType()も参照してください

[explicit noexcept] QDeadlineTimer::QDeadlineTimer(qint64 msecs, Qt::TimerType type = Qt::CoarseTimer)

msecs が正の値である場合、このオブジェクトが生成された時点からmsecs msecs の有効期限を持つ QDeadlineTimer オブジェクトを構築します。msecs がゼロの場合、この QDeadlineTimer は期限切れとしてマークされ、remainingTime() はゼロを返し、deadline() は過去の不確定な時点を返します。msecs が負の場合、タイマーは期限切れにならないように設定され、remainingTime() は -1 を返し、deadline() は最大値を返します。

QDeadlineTimer オブジェクトは、指定されたタイマーtype で構築されます。

最適化のため、msecs がゼロの場合、この関数は現在時刻の取得を省略し、代わりに過去の既知の値を使用することがあります。その場合、deadline() は予期しない値を返すことがあり、このオブジェクトを期限切れ時間の計算に使用することはできません。そのような機能が必要な場合は、QDeadlineTimer::current() を使用し、それに時間を追加してください。

注意: Qt 6.6以前では、タイマーが期限切れにならない唯一の値は-1でした。

hasExpired(),isForever(),remainingTime(),setRemainingTime()も参照してください

template <typename Rep, typename Period> QDeadlineTimer::QDeadlineTimer(std::chrono::duration<Rep, Period> remaining, Qt::TimerType type = Qt::CoarseTimer)

残り時間がremaining の QDeadlineTimer オブジェクトを構築します。remaining がゼロまたは負の場合、この QDeadlineTimer オブジェクトは期限切れとしてマークされます。一方、remainingduration::max() と等しい場合、このオブジェクトは期限切れにならないように設定されます。

QDeadlineTimer オブジェクトは、指定されたタイマーtype で構築されます。

このコンストラクタは、in などの C++14 のユーザー定義時間リテラルとともに使用できます:

    using namespace std::chrono_literals;
    QDeadlineTimer deadline(250ms);

最適化のため、remaining がゼロまたは負の場合、この関数は現在時刻の取得を省略し、代わりに過去の既知の値を使用することがあります。その場合、deadline ()は予期しない値を返し、このオブジェクトを期限切れ時間の計算に使用できないことがある。そのような機能が必要な場合は、QDeadlineTimer::current() を使用し、それに時間を追加してください。

hasExpired(),isForever(),remainingTime(),setRemainingTime()も参照

template <typename Clock, typename Duration = typename Clock::duration> QDeadlineTimer::QDeadlineTimer(std::chrono::time_point<Clock, Duration> deadline, Qt::TimerType type = Qt::CoarseTimer)

Clock のクロック・ソースから Qt の内部クロック・ソース(QElapsedTimer::clockType() を参照)に変換して、deadline 時点のデッドラインを持つ QDeadlineTimer オブジェクトを構築します。

deadline が過去の場合、この QDeadlineTimer オブジェクトは期限切れに設定され、deadlineDuration::max() と等しい場合、このオブジェクトは期限切れにならないように設定されます。

QDeadlineTimer オブジェクトは、指定されたタイマーtype で構築されます。

hasExpired(),isForever(),remainingTime(),setDeadline()も参照

[static noexcept] QDeadlineTimer QDeadlineTimer::addNSecs(QDeadlineTimer dt, qint64 nsecs)

dt の期限からnsecs ナノ秒延長された期限を持つQDeadlineTimer オブジェクトを返します。dt が期限切れにならないように設定されていた場合、この関数は期限切れにならないQDeadlineTimer を返す。

注意: dt が期限切れとして作成された場合、その期限は不確定であり、時間を追加すると期限切れにならないかもしれない。

[static noexcept] QDeadlineTimer QDeadlineTimer::current(Qt::TimerType timerType = Qt::CoarseTimer)

期限切れだが、現在時刻を含むことが保証されているQDeadlineTimer を返す。この関数で生成されたオブジェクトは、deadline ()関数を使用して、タイマーの期限切れ時間の計算に参加することができます。

QDeadlineTimer オブジェクトは、指定されたtimerType で構築される。

[noexcept] qint64 QDeadlineTimer::deadline() const

QElapsedTimer::msecsSinceReference() と同じように、基準クロックからの相対ミリ秒単位で計算された、QDeadlineTimer オブジェクトに格納された期限の絶対時点を返します。このQDeadlineTimer が期限切れの場合、値は過去になります。

このQDeadlineTimer が期限切れでない場合、この関数はstd::numeric_limits<qint64>::max() を返す。

この関数は、以下の例のように、QDeadlineTimer::current ()またはQElapsedTimer::msecsSinceReference ()を引くことで、タイマーが期限を過ぎている時間を計算するために使用することができます:

    qint64 realTimeLeft = deadline.deadline();
    if (realTimeLeft != (std::numeric_limits<qint64>::max)()) {
        realTimeLeft -= QDeadlineTimer::current().deadline();
        // or:
        //QElapsedTimer timer;
        //timer.start();
        //realTimeLeft -= timer.msecsSinceReference();
    }

注意: 期限切れとして作成されたタイマーは、その期限として過去の不確定な時点を持つため、上記の計算が機能しない場合があります。

remainingTime(),deadlineNSecs(),setDeadline()も参照

[noexcept] qint64 QDeadlineTimer::deadlineNSecs() const

QElapsedTimer::msecsSinceReference() と同じ、基準クロックからの相対ナノ秒単位で計算された、QDeadlineTimer オブジェクトに格納されている期限の絶対時点を返します。このQDeadlineTimer が期限切れの場合、値は過去になります。

このQDeadlineTimer が期限切れでない場合、または期限までのナノ秒数を戻り値の型に含めることができない場合、この関数はstd::numeric_limits<qint64>::max() を返す。

この関数は、以下の例のように、QDeadlineTimer::current ()を差し引くことで、タイマーの期限超過時間を計算するために使用することができます:

    qint64 realTimeLeft = deadline.deadlineNSecs();
    if (realTimeLeft != std::numeric_limits<qint64>::max())
        realTimeLeft -= QDeadlineTimer::current().deadlineNSecs();

注意: 期限切れとして作成されたタイマーは、その期限として過去の不確定な時点を持つので、上記の計算は機能しないかもしれません。

remainingTime() および deadlineNSecs()も参照

[noexcept] bool QDeadlineTimer::hasExpired() const

このQDeadlineTimer オブジェクトが期限切れの場合は true を、残り時間がある場合は false を返します。期限が切れたオブジェクトについては、remainingTime() はゼロを返し、deadline() は過去の時点を返します。

QDeadlineTimer ForeverConstant で作成されたオブジェクトの有効期限はなく、この関数は常に false を返します。

isForever() およびremainingTime()も参照

[constexpr noexcept] bool QDeadlineTimer::isForever() const

このQDeadlineTimer オブジェクトが期限切れにならない場合は true を返し、そうでない場合は false を返します。有効期限がないタイマーの場合、remainingTime() は常に -1 を返し、deadline() は最大値を返す。

ForeverConstanthasExpired()、remainingTime()も参照

[noexcept] qint64 QDeadlineTimer::remainingTime() const

QDeadlineTimer オブジェクトの残り時間をミリ秒単位で返す。タイマーがすでに期限切れになっている場合、この関数は 0 を返し、この関数で期限切れ時間を取得することはできない(取得するにはdeadline() を参照)。タイマーが期限切れにならないように設定されていた場合、この関数は -1 を返します。

この関数は、多くのQIODevice waitFor 関数や、QMutex,QWaitCondition,QSemaphore,QReadWriteLock の時間指定ロック関数など、ミリ秒のタイムアウトを取る Qt API での使用に適しています。例えば

    mutex.tryLock(deadline.remainingTime());

setRemainingTime()、remainingTimeNSecs()、isForever()、hasExpired()も参照のこと

[noexcept] std::chrono::nanoseconds QDeadlineTimer::remainingTimeAsDuration() const

期限までの残り時間を返します。

[noexcept] qint64 QDeadlineTimer::remainingTimeNSecs() const

このQDeadlineTimer オブジェクトの残り時間をナノ秒単位で返します。タイマーがすでに期限切れになっている場合、この関数はゼロを返し、この関数で期限超過時間を取得することはできない。タイマーが期限切れにならないように設定されていた場合、この関数は -1 を返す。

remainingTime()、isForever()、hasExpired()も参照

[noexcept] void QDeadlineTimer::setDeadline(qint64 msecs, Qt::TimerType timerType = Qt::CoarseTimer)

このQDeadlineTimer オブジェクトの期限を、基準クロックからのミリ秒単位でカウントしたmsecs 絶対時点に設定し(QElapsedTimer::msecsSinceReference() と同じ)、タイマー・タイプをtimerType に設定する。値が過去の場合、このQDeadlineTimer は期限切れとしてマークされる。

msecsstd::numeric_limits<qint64>::max() である場合、または期限が将来の表現可能な時点を超えている場合、 このQDeadlineTimer は期限切れにならないように設定される。

setPreciseDeadline()、deadline()、deadlineNSecs()、setRemainingTime()も参照

template <typename Clock, typename Duration = typename Clock::duration> void QDeadlineTimer::setDeadline(std::chrono::time_point<Clock, Duration> deadline, Qt::TimerType type = Qt::CoarseTimer)

このQDeadlineTimer を、Clock のクロック・ソースから Qt の内部クロック・ソース (QElapsedTimer::clockType() を参照) に変換して、deadline のタイム・ポイントで示される期限に設定します。

deadline が過去の場合、このQDeadlineTimer オブジェクトは期限切れに設定され、deadlineDuration::max() と等しい場合、このオブジェクトは期限切れにならないように設定されます。

このQDeadlineTimer オブジェクトのタイマー・タイプは、指定されたtype に設定される。

hasExpired ()、isForever ()、remainingTime)も参照

[noexcept] void QDeadlineTimer::setPreciseDeadline(qint64 secs, qint64 nsecs = 0, Qt::TimerType timerType = Qt::CoarseTimer)

このQDeadlineTimer オブジェクトの期限を、基準クロック・エポックからsecs 秒およびnsecs ナノ秒に設定し(QElapsedTimer::msecsSinceReference ()と同じ)、タイマー・タイプをtimerType に設定する。値が過去の場合、このQDeadlineTimer は期限切れとしてマークされる。

secs またはnsecsstd::numeric_limits<qint64>::max() の場合、このQDeadlineTimer は期限切れにならないように設定される。nsecs が10億ナノ秒(1秒)を超える場合、secs はそれに応じて調整される。

setDeadline()、deadline()、deadlineNSecs()、setRemainingTime()も参照

[noexcept] void QDeadlineTimer::setPreciseRemainingTime(qint64 secs, qint64 nsecs = 0, Qt::TimerType timerType = Qt::CoarseTimer)

このQDeadlineTimer オブジェクトの残り時間を、secs が正の値の場合、secs 秒に今からnsecs ナノ秒を加えた値に設定する。secs が負の値の場合、このQDeadlineTimer は期限切れにならないように設定されます(この動作はnsecs には適用されません)。両方のパラメータがゼロの場合、このQDeadlineTimer は期限切れとしてマークされる。

最適化のため、secsnsecs の両方がゼロの場合、この関数は現在時刻の取得を省略し、代わりに過去の既知の値を使用することがある。その場合、deadline ()は予期しない値を返すことがあり、このオブジェクトを期限切れ時間の計算に使用することはできない。そのような機能が必要な場合は、QDeadlineTimer::current() を使用し、それに時間を追加してください。

このQDeadlineTimer オブジェクトのタイマー・タイプは、指定されたtimerType に設定されます。

注意: Qt 6.6以前では、タイマーが期限切れにならない唯一の条件は、secs が -1 の場合でした。

setRemainingTime(),hasExpired(),isForever(),remainingTime()も参照してください

[noexcept] void QDeadlineTimer::setRemainingTime(qint64 msecs, Qt::TimerType timerType = Qt::CoarseTimer)

msecs に正の値がある場合、このQDeadlineTimer オブジェクトの残り時間をmsecs ミリ秒後に設定する。msecs がゼロの場合、このQDeadlineTimer オブジェクトは期限切れとしてマークされ、負の値の場合は期限切れにならないように設定されます。

最適化のため、msecs がゼロの場合、この関数は現在時刻の取得を省略し、代わりに過去の既知の値を使用することがある。その場合、deadline ()は予期しない値を返すことがあり、このオブジェクトを期限切れ時間の計算に使用することはできない。そのような機能が必要な場合は、QDeadlineTimer::current() を使用し、それに時間を追加してください。

このQDeadlineTimer オブジェクトのタイマー・タイプは、指定されたtimerType に設定されます。

注意: Qt 6.6以前では、タイマーが期限切れにならない唯一の値は-1でした。

setPreciseRemainingTime(),hasExpired(),isForever(),remainingTime()も参照してください

template <typename Rep, typename Period> void QDeadlineTimer::setRemainingTime(std::chrono::duration<Rep, Period> remaining, Qt::TimerType type = Qt::CoarseTimer)

これはオーバーロードされた関数です。

このQDeadlineTimer オブジェクトの残り時間をremaining に設定します。remaining が 0 または負の場合、このQDeadlineTimer オブジェクトは期限切れとしてマークされ、remainingduration::max() と等しい場合、このオブジェクトは期限切れにならないように設定されます。

このQDeadlineTimer オブジェクトのタイマー・タイプは、指定されたtype に設定されます。

この関数は、in などの C++14 の時間に関するユーザー定義リテラルとともに使用できます:

    using namespace std::chrono_literals;
    deadline.setRemainingTime(250ms);

注: Qt は、C++ 委員会の常設文書 6 の機能テスト勧告によって、必要な C++14 コンパイラのサポートを検出します。

setDeadline()、remainingTime()、hasExpired()、isForever()も参照して ください。

void QDeadlineTimer::setTimerType(Qt::TimerType timerType)

このオブジェクトのタイマー型をtimerType に変更します。

timerType Qt::PreciseTimer は Qt が見つけることができる最も正確なタイマーを使用します。分解能は 1 ミリ秒以上で、 はより粗いタイマーを使用しようとします。 と はより粗いタイマーを使用しようとします。QDeadlineTimer Qt::CoarseTimer Qt::VeryCoarseTimer

timerType() とQt::TimerTypeも参照して ください。

[noexcept] void QDeadlineTimer::swap(QDeadlineTimer &other)

このデッドライン・タイマーをother のデッドライン・タイマーと交換する。

[noexcept] Qt::TimerType QDeadlineTimer::timerType() const

このオブジェクトで有効なタイマー・タイプを返します。

setTimerType()も参照

QDeadlineTimer &QDeadlineTimer::operator+=(qint64 msecs)

このQDeadlineTimer オブジェクトをmsecs ミリ秒延長し、それ自身を返す。このオブジェクトが期限切れにならないように設定されている場合、この関数は何もしません。

1ミリ秒を超える精度の時間を追加するには、addNSecs() を使用する。

QDeadlineTimer &QDeadlineTimer::operator-=(qint64 msecs)

このQDeadlineTimer オブジェクトをmsecs ミリ秒短縮し、それ自身を返す。このオブジェクトがnever expireに設定されている場合、この関数は何もしない。

1ミリ秒より大きい精度の時間を減算するには、addNSecs ()を使用する。

template <typename Rep, typename Period> QDeadlineTimer &QDeadlineTimer::operator=(std::chrono::duration<Rep, Period> remaining)

このデッドライン・タイマーをremaining の時刻に設定します。

template <typename Clock, typename Duration = typename Clock::duration> QDeadlineTimer &QDeadlineTimer::operator=(std::chrono::time_point<Clock, Duration> deadline_)

このデッドライン・タイマーにdeadline_ を割り当てます。

関連する非会員

[noexcept] bool operator!=(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

lhs のデッドラインとrhs のデッドラインが異なる場合は true を返し、そうでない場合は false を返します。それ以外の場合は false を返します。2 つの期限を作成するために使用されたタイマー・タイプは無視されます。この関数は以下と等価です:

    return lhs.deadlineNSecs() != rhs.deadlineNSecs();

注意: 異なるタイマー・タイプを持つQDeadlineTimer オブジェクトを比較することはサポートされておらず、予測できない動作になる可能性があります。

QDeadlineTimer operator+(QDeadlineTimer dt, qint64 msecs)

dt に格納されたデッドラインよりもmsecs の方が遅いデッドラインを持つQDeadlineTimer オブジェクトを返します。dt が期限切れにならないように設定されている場合、この関数は期限切れにもならないQDeadlineTimer を返します。

1ミリ秒を超える精度の時間を追加するには、addNSecs ()を使用する。

QDeadlineTimer operator+(qint64 msecs, QDeadlineTimer dt)

dt に格納されたデッドラインよりmsecs が遅いデッドラインを持つQDeadlineTimer オブジェクトを返します。dt が期限切れにならないように設定されている場合、この関数は期限切れにもならないQDeadlineTimer を返します。

1ミリ秒を超える精度の時間を追加するには、addNSecs ()を使用する。

QDeadlineTimer operator-(QDeadlineTimer dt, qint64 msecs)

dt に格納されたデッドラインよりmsecs 前のデッドラインを持つQDeadlineTimer オブジェクトを返す。dt が期限切れにならないように設定されている場合、この関数は期限切れにならないQDeadlineTimer も返す。

1ミリ秒を超える精度の時間を差し引くには、addNSecs ()を使用する。

[noexcept] bool operator<(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

lhs のデッドラインがrhs のデッドラインより早ければ真を、そうでなければ偽を返す。2つの期限を作成するために使用されたタイマー・タイプは無視されます。この関数は以下と等価である:

    return lhs.deadlineNSecs() < rhs.deadlineNSecs();

注意: 異なるタイマー・タイプを持つQDeadlineTimer オブジェクトを比較することはサポートされておらず、予測できない動作になる可能性があります。

[noexcept] bool operator<=(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

lhs のデッドラインがrhs のデッドラインより早いか同じであれば true を返し、そうでなければ false を返す。2つの期限を作成するために使用されたタイマー・タイプは無視されます。この関数は以下と等価です:

    return lhs.deadlineNSecs() <= rhs.deadlineNSecs();

注意: 異なるタイマー・タイプを持つQDeadlineTimer オブジェクトを比較することはサポートされておらず、予測できない動作になる可能性があります。

[noexcept] bool operator==(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

lhs のデッドラインとrhs のデッドラインが同じであれば真を、そうでなければ偽を返す。2つの期限を作成するために使用されたタイマー・タイプは無視されます。この関数は以下と等価です:

    return lhs.deadlineNSecs() == rhs.deadlineNSecs();

注意: 異なるタイマー・タイプを持つQDeadlineTimer オブジェクトを比較することはサポートされておらず、予測できない動作になる可能性があります。

[noexcept] bool operator>(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

lhs のデッドラインがrhs のデッドラインより遅ければ真を、そうでなければ偽を返す。2つの期限を作成するために使用されたタイマー・タイプは無視されます。この関数は以下と等価です:

    return lhs.deadlineNSecs() > rhs.deadlineNSecs();

注意: 異なるタイマー・タイプを持つQDeadlineTimer オブジェクトを比較することはサポートされておらず、予測不可能な動作になる可能性があります。

[noexcept] bool operator>=(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

lhs のデッドラインがrhs のデッドラインより遅いか同じであれば true を返し、そうでなければ false を返す。2つの期限を作成するために使用されたタイマー・タイプは無視されます。この関数は以下と等価です:

    return lhs.deadlineNSecs() >= rhs.deadlineNSecs();

注意: 異なるタイマー・タイプのQDeadlineTimer オブジェクトを比較することはサポートされていません。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。