follow と precede 関数テンプレート

followsprecedes 関数テンプレート#

この機能を有効にするには、TBB_PREVIEW_FLOW_GRAPH_FEATURES マクロを 1 に定義します。

follows および precedes ヘルパー関数は、oneTBB フローグラフを構築する際にノード間の依存関係を表現するのに役立ちます。これらのヘルパー関数は、ノードの構築中にのみ使用できます。

説明#

follows ヘルパー関数は、構築されるノードが引数として渡されたノードセットの後継ノードであることを指定します。

precedes ヘルパー関数は、構築されるノードが引数として渡されたノードセットの先行ノードであることを指定します。

follows 関数と precedes 関数は、ノードのコンストラクターに最初の引数として渡されるグラフ引数を置き換えます。構築中のノードのグラフ引数は、指定されたノードセットから取得されるか、または follows または precedes に渡されるノードのシーケンスから取得されます。

follows または precedes に渡されるノードが異なるグラフに属していると、動作は未定義になります。

API#

構文#

// node_set は、make_node_set 関数から返されるタイプを説明するだけの名前です 

template <typename NodeType, typename...NodeTypes> 
/*未指定*/ follows( node_set<NodeType, NodeTypes...>& set ); 

template <typename NodeType, typename...NodeTypes> 
/*未指定*/ follows( NodeType& node, NodeTypes&... nodes ); 

template <typename NodeType, typename...NodeTypes> 
/*未指定*/ precedes( node_set<NodeType, NodeTypes...>& set ); 

template <typename NodeType, typename...NodeTypes> 
/*未指定*/ precedes( NodeType& node, NodeTypes&... nodes );

入力パラメーター#

follows および precedes の引数としてノードのセット、またはシーケンスのいずれかを使用できます。次の式が等価です。

入力としてのノードのセット#
auto handlers = make_node_set(n1, n2, n3); 
broadcast_node<int> input(precedes(handlers));
入力としてのノードのシーケンス#
broadcast_node<int> input(precedes(n1, n2, n3));