receiver テンプレート・クラス

概要

メッセージのレシーバーとして動作するノードの抽象的な基本クラス。

構文

template< typename T > class receiver;

ヘッダー

#include "tbb/flow_graph.h"

説明

receiver テンプレート・クラスは、レシーバーとして動作するノードのインターフェイスを定義する抽象的な基本クラスです。いくつかの関数にはデフォルトの実装が提供されます。

注意

flow::graph では、グラフの構築に register_predecessor を使用する方法は、古いオプション (非推奨) です。make_edgeremove_edge を用いてグラフを構築してください。n1.register_predecessor(n2) が使用されている場合は、代わりに make_edge(n2,n1) を使用してください。

メンバー

namespace tbb {
namespace flow {
 
template< typename T >
class receiver {
public:
    typedef T input_type;
    typedef sender<input_type> predecessor_type;
    virtual ~receiver();
    virtual bool try_put( const input_type &v ) = 0;
    virtual bool register_predecessor( predecessor_type &p ) {
        return false; }
    virtual bool remove_predecessor( predecessor_type &p ) {
        return false; }
};
 
}
}

次の表は、このテンプレート・クラスのメンバーの詳細な情報を提供します。
メンバー 説明
~receiver()

デストラクター。

bool try_put( const input_type &v )

レシーバーにアイテムを格納するインターフェイスを表すメソッド。

bool register_predecessor( predecessor_type &p )

ノードのプレデセッサー・セットにプレデセッサー・ノードを追加します。

戻り値: プレデセッサー・ノードが追加された場合は true。その他の場合は false。デフォルトの実装は false を返します。

bool remove_predecessor( predecessor_type &p )

ノードのプレデセッサー・セットからプレデセッサー・ノードを削除します。

戻り値: プレデセッサー・ノードが削除された場合は true。その他の場合は false。デフォルトの実装は false を返します。