nlib
|
スレッド実行の結果を呼び出しスレッドに対してスレッドセーフに出力するためのクラスです。C++11のstd::promise
に似ています。
[詳解]
#include "nn/nlib/threading/Future.h"
nn::nlib::threading::detail::PromiseBase< Derived >を継承しています。
公開型 | |
typedef Future< R > | FutureType |
Future<R> です。 | |
公開メンバ関数 | |
errno_t | SetValue (const R &value) |
値を設定して、Future から取り出せる状態にします。 [詳解] | |
errno_t | SetError (errno_t e) noexcept |
エラー値を設定します。 [詳解] | |
errno_t | GetFuture (Future< R > *p) noexcept |
実行結果を取得するためのFuture を設定します。 [詳解] | |
void | swap (Promise &rhs) noexcept |
オブジェクトをスワップします。 [詳解] | |
基本的なメンバ関数 | |
Promise () noexcept | |
デフォルトコンストラクタです。 | |
Promise & | assign (Promise &rhs, move_tag) |
swap を利用したムーブにより代入します。 | |
Promise (Promise &rhs, move_tag) | |
swap を利用したムーブによりオブジェクトを構築します。 | |
Promise (Promise &&rhs) | |
ムーブコンストラクタです。C++11の利用時に有効です。 | |
Promise & | operator= (Promise &&rhs) |
ムーブ代入演算子です。C++11の利用時に有効です。 | |
errno_t | Init () noexcept |
オブジェクトの初期化を行います。 [詳解] | |
スレッド実行の結果を呼び出しスレッドに対してスレッドセーフに出力するためのクラスです。C++11のstd::promise
に似ています。
R | 出力する値の型。void を指定することも可能です。 |
PackagedTask
クラスを利用する方が簡便です。
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
エラー値を設定します。
[in] | e | エラー値 |
0 | エラー値の設定に成功した場合 |
EALREADY | 既にエラー値が設定されている場合 |
ENOMEM | Init() が事前に呼ばれていない場合で、メモリ確保に失敗した場合 |
Future::Get(R* ptr)
における戻り値としてエラー値を取得できるようになります。 nn::nlib::threading::Promise< R >::SetValue | ( | const R & | value | ) |
|
inlinenoexcept |
© 2012-2016 Nintendo Co., Ltd. All rights reserved.