グラフ
[flow_graph.graph]
フローグラフのノードとエッジを制御するクラス。
// <oneapi/tbb/flow_graph.h> ヘッダーで定義
namespace oneapi {
namespace tbb {
namespace flow {
class graph {
public:
graph();
graph(task_group_context& context);
~graph();
void wait_for_all();
void reset(reset_flags f = rf_reset_protocol);
void cancel();
bool is_cancelled();
bool exception_thrown();
};
} // namespace flow
} // namespace tbb
} // namespace oneapi
reset_flags 列挙
メンバー関数
- graph(task_group_context &context)
ノードなしでグラフを作成します。
context
が指定されている場合、グラフタスクはこのコンテキストで実行されます。デフォルトでは、グラフはグラフがバインドされているコンテキストで実行されます。
- ~graph()
グラフで
wait_for_all()
を呼び出してグラフを破棄します。
- void wait_for_all()
グラフに関連するすべてのタスクが完了するかキャンセルされるまで、実行をブロックします。
- void reset(reset_flags f = rf_reset_protocol)
指定されたフラグに基づいてグラフをリセットします。
reset()
フラグは、ビット単位のor
(論理和) と組み合わせることできます。注
reset()
はスレッドセーフではない操作であるため、同時に呼び出してはなりません。
- void cancel()
グラフのすべてのタスクをキャンセルします。
- bool is_cancelled()
戻り値: 戻り値:
wait_for_all()
の最後の呼び出し中にグラフがキャンセルされた場合はtrue
、それ以外はfalse
を返します。
- bool exception_thrown()
戻り値: 戻り値:
wait_for_all()
の最後の呼び出し中に例外がスローされた場合はtrue
、それ以外はfalse
を返します。