nlib
nn::nlib::threading::WhenFutureComplete< R1, R2, R3, R4, R5 > クラステンプレート

Futureに値が設定されたことを条件として値が設定されるFutureを定義します。 [詳解]

#include "nn/nlib/threading/Future.h"

公開型

typedef UniquePtr< FutureTuple< R1, R2, R3, R4, R5 > > ReturnType
 新たに作成されるFutureに設定される値の型です。
 
typedef Future< ReturnTypeFutureType
 新たに作成されるFutureの型です。
 

静的公開メンバ関数

static errno_t All (FutureType *f, Future< R1 > *f1, Future< R2 > *f2, Future< R3 > *f3, Future< R4 > *f4, Future< R5 > *f5)
 Future f1, f2, f3, f4, f5 の全てに値かエラーが設定された場合に、f に値が設定されます。 [詳解]
 
static errno_t Any (FutureType *f, Future< R1 > *f1, Future< R2 > *f2, Future< R3 > *f3, Future< R4 > *f4, Future< R5 > *f5)
 Future f1, f2, f3, f4, f5 の何れかに値かエラーが設定された場合に、f に値が設定されます。 [詳解]
 

詳解

template<class R1 = None, class R2 = None, class R3 = None, class R4 = None, class R5 = None>
class nn::nlib::threading::WhenFutureComplete< R1, R2, R3, R4, R5 >

Futureに値が設定されたことを条件として値が設定されるFutureを定義します。

テンプレート引数
R1Futureの値の型
R2Futureの値の型
R3Futureの値の型
R4Futureの値の型
R5Futureの値の型
説明
全てのFutureに値が設定された場合に設定されるFutureを利用したい場合は、WhenFutureComplete::All()を利用します。また、Futureのどれか1つに値が設定された場合に設定されるFutureを利用したい場合は、WhenFutureComplete::Any()を利用します。
このクラステンプレートは特殊化されたクラスを提供していて、WhenFutureComplete<R1,R2>, WhenFutureComplete<R1,R2,R3>, WhenFutureComplete<R1,R2,R3,R4>, WhenFutureComplete<R1,R2,R3,R4,R5>を利用することが可能です。

Future.h2109 行目に定義があります。

関数詳解

◆ All()

template<class R1 = None, class R2 = None, class R3 = None, class R4 = None, class R5 = None>
nn::nlib::threading::WhenFutureComplete< R1, R2, R3, R4, R5 >::All ( FutureType f,
Future< R1 > *  f1,
Future< R2 > *  f2,
Future< R3 > *  f3,
Future< R4 > *  f4,
Future< R5 > *  f5 
)
inlinestatic

Future f1, f2, f3, f4, f5 の全てに値かエラーが設定された場合に、f に値が設定されます。

引数
[in,out]f新たに作成されるFutureへのポインタ
[in]f1Future<R1>へのポインタ
[in]f2Future<R2>へのポインタ
[in]f3Future<R3>へのポインタ
[in]f4Future<R4>へのポインタ
[in]f5Future<R5>へのポインタ
戻り値
0成功しました。
EINVALf1, f2, f3, f4, f5 の何れかがNULLだった。
ENOMEMメモリの取得に失敗しました。
その他下部レイヤからのエラーが返されることがあります。

Future.h2113 行目に定義があります。

◆ Any()

template<class R1 = None, class R2 = None, class R3 = None, class R4 = None, class R5 = None>
nn::nlib::threading::WhenFutureComplete< R1, R2, R3, R4, R5 >::Any ( FutureType f,
Future< R1 > *  f1,
Future< R2 > *  f2,
Future< R3 > *  f3,
Future< R4 > *  f4,
Future< R5 > *  f5 
)
inlinestatic

Future f1, f2, f3, f4, f5 の何れかに値かエラーが設定された場合に、f に値が設定されます。

引数
[in,out]f新たに作成されるFutureへのポインタ
[in]f1Future<R1>へのポインタ
[in]f2Future<R2>へのポインタ
[in]f3Future<R3>へのポインタ
[in]f4Future<R4>へのポインタ
[in]f5Future<R5>へのポインタ
戻り値
0成功しました。
EINVALf1, f2, f3, f4, f5 の何れかがNULLだった。
ENOMEMメモリの取得に失敗しました。
その他下部レイヤからのエラーが返されることがあります。

Future.h2117 行目に定義があります。


このクラス詳解は次のファイルから抽出されました: