follows と precedes 関数テンプレート#
注
この機能を有効にするには、TBB_PREVIEW_FLOW_GRAPH_FEATURES マクロを 1 に定義します。
follows および precedes ヘルパー関数は、oneTBB フローグラフを構築する際にノード間の依存関係を表現するのに役立ちます。これらのヘルパー関数は、ノードの構築中にのみ使用できます。
説明#
follows ヘルパー関数は、構築されるノードが引数として渡されたノードセットの後継ノードであることを指定します。
precedes ヘルパー関数は、構築されるノードが引数として渡されたノードセットの先行ノードであることを指定します。
follows 関数と precedes 関数は、ノードのコンストラクターに最初の引数として渡されるグラフ引数を置き換えます。構築中のノードのグラフ引数は、指定されたノードセットから取得されるか、または follows または precedes に渡されるノードのシーケンスから取得されます。
follows または precedes に渡されるノードが異なるグラフに属していると、動作は未定義になります。
API#
ヘッダー#
#include <oneapi/tbb/flow_graph.h>構文#
// 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));