グラフ

[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 を返します。