sender テンプレート・クラス

概要

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

構文

template< typename T > class sender;

ヘッダー

#include "tbb/flow_graph.h"

説明

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

注意

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

メンバー

namespace tbb {
namespace flow {
 
template< typename T >
class sender {
public:
    typedef T output_type;
    typedef receiver<output_type> successor_type;
    virtual ~sender();
    virtual bool register_successor( successor_type &r ) = 0;
    virtual bool remove_successor( successor_type &r ) = 0;
    virtual bool try_get( output_type &v ) { return false; }
    virtual bool try_reserve( output_type &v ) { return false; }
    virtual bool try_release( ) { return false; }
    virtual bool try_consume( ) { return false; }
};
 
}
}

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

デストラクター。

bool register_successor( successor_type &r ) = 0

センダーのサクセサーセットにサクセサーノードを追加するインターフェイスを記述する純粋な仮想メソッド。

戻り値: サクセサーノードが追加された場合は true。その他の場合は false

bool remove_successor( successor_type &r ) = 0

センダーのサクセサーセットからサクセサーノードを削除するインターフェイスを記述する純粋な仮想メソッド。

戻り値: サクセサーノードが削除された場合は true。その他の場合は false

bool try_get( output_type &v )

センダーのアイテムを要求します。

戻り値: デフォルトの実装は false を返します。

bool try_reserve( output_type &v )

センダーにアイテムを保存します。

戻り値: デフォルトの実装は false を返します。

bool try_release( )

センダーに保持している予約を解除します。

戻り値: デフォルトの実装は false を返します。

bool try_consume( )

センダーに保持している予約を消費します。

戻り値: デフォルトの実装は false を返します。