make_edge

[flow_graph.make_edge]

ノード間のエッジを構築する関数テンプレート。


// <oneapi/tbb/flow_graph.h> ヘッダーで定義 

namespace oneapi { 
namespace tbb { 
namespace flow { 

    template<typename Message> 
    inline void make_edge( sender<Message> &p, receiver<Message> &s ); 

    template< typename MultiOutputNode, typename MultiInputNode > 
    inline void make_edge( MultiOutputNode& output, MultiInputNode& input ); 

    template<typename MultiOutputNode, typename Message> inline void make_edge( MultiOutputNode& output, receiver<Message> input ); 
    template<typename Message, typename MultiInputNode> 

    inline void make_edge( sender<Message> output, MultiInputNode& input ); 

} // namespace flow 
} // namespace tbb 
} // namespace oneapi

要件:

  • MultiOutputNode タイプには、タイプを示す有効な MultiOutputNode::output_ports_type 修飾子 ID が必要です。

  • MultiInputNode タイプには、タイプを示す有効な MultiInputNode::input_ports_type 修飾子 ID が必要です。

make_edge(sender, receiver) の通常の形式は、senderreceiver インスタンス燗にエッジを作成します。

MultiOutputNode タイプのインスタンスを受け入れるオーバーロードは、先行する複数出力ポート 0 からエッジを作成します。

また、MultiInputNode タイプのインスタンスを受け入れるオーバーロードは、後続の複数入力ポート 0 へのエッジを作成します。