グラフノードの全検索と抽出をサポートするフローグラフのクラスの古い拡張 (非推奨)。
#define TBB_DEPRECATED_FLOW_NODE_EXTRACTION 1 #include "tbb/flow_graph.h"
フローグラフのノードクラスは、追加で次の typedef およびメソッドを定義します。
namespace tbb { namespace flow { class graph_node { public: typedef implementation-defined predecessor_type; // source_node を除くすべて typedef implementation-defined predecessor_list_type; // source_node を除くすべて typedef implementation-defined successor_type; typedef implementation-defined successor_list_type; size_t predecessor_count(); // source_node を除くすべて size_t successor_count(); void copy_predecessors(predecessor_list_type &pv); // source_node を除くすべて void copy_successors(successor_list_type &sv); void extract( ); }; } }
graph_node クラスに追加するメソッドはスレッドセーフではありません。これらのメソッドを使用するとき、グラフはアクティブであってはなりません。
メンバー | 説明 |
---|---|
predecessor_type | predecessor_list_type の要素の型を定義します。この型は source_node では定義されません。 |
predecessor_list_type | copy_predecessors() が返す型を定義します。このクラスは、size()、begin()、end() および定義されたイテレーター型を含みます。この型は source_node では定義されません。 |
successor_type | successor_list_type の要素の型を定義します。 |
successor_list_type | copy_successors() が返す型を定義します。このクラスは、size()、begin()、end() および定義されたイテレーター型を含みます。 |
size_t predecessor_count(); | make_edge() で現在のノードにプレデセッサーとしてアタッチされ、remove_edge() で (あるいは extract() や reset(rf_clear_edges) を呼び出して) 削除されなかったグラフノードの数を返します。このメソッドは source_node では定義されません。 |
size_t successor_count(); | make_edge() で現在のノードにサクセサーとしてアタッチされ、remove_edge() で (あるいは extract() や reset(rf_clear_edges) を呼び出して) 削除されなかったグラフノードの数を返します。 |
void copy_predecessors(predecessor_list_type &pv); | ノードのすべてのプレデセッサーへのポインターを含むデータ構造を返します。このメソッドは source_node では定義されません。 |
void copy_successors(successor_list_type &sv); | ノードのすべてのサクセサーへのポインターを含むデータ構造を返します。 |
void extract( ) | ノードへのすべてのエッジを削除します。 |