std::shared_future<T>::wait_until
提供: cppreference.com
template< class Clock, class Duration > std::future_status wait_until( const std::chrono::time_point<Clock,Duration>& timeout_time ) const; |
(C++11以上) | |
結果が利用可能になるまで待ちます。 指定された timeout_time に達するか、結果が利用可能になるか、どちらかが先に発生するまでブロックします。 戻り値は wait_until が戻った理由を表します。
この関数を呼ぶ前に valid()== false であった場合、動作は未定義です。
引数
| timeout_time | - | ブロックする最大時点 |
戻り値
| 定数 | 説明 |
| future_status::deferred | 結果を計算するための関数はまだ開始されていません |
| future_status::ready | 結果は準備完了しています |
| future_status::timeout | タイムアウトが経過しました |
例外
実行中に clock、time_point、または duration によって投げられるあらゆる例外 (標準ライブラリによって提供される clock、time_point、および duration は、例外を投げることはありません)。
ノート
処理系は呼び出し前に valid == false であった場合を検出し、エラーコンディション future_errc::no_state を持つ future_error を投げることが推奨されます。
timeout_time に紐付く時計が使用されます。 単調増加する時計であることは要求されません。 時計が不連続的に調節された場合、この関数の動作について何の保証もありません。 既存の実装は timeout_time を Clock から std::chrono::system_clock に変換し、 POSIX の pthread_cond_timedwait に移譲するため、待機はシステム時計の調節を反映しますが、ユーザ提供の Clock は反映しません。 いずれの場合でも、スケジューリングやリソースの奪い合いによる遅延のため、この関数は timeout_time に達するまでよりも長くブロックする可能性もあります。
例
| This section is incomplete Reason: no example |
関連項目
| 結果が利用可能になるのを待ちます (パブリックメンバ関数) | |
| 結果を待ちます。 指定されたタイムアウト期間が満了するまで利用可能にならなければリターンします (パブリックメンバ関数) |