メッセージのセンダーとして動作するノードの抽象的な基本クラス。
template< typename T > class sender;
#include "tbb/flow_graph.h"
sender テンプレート・クラスは、センダーとして動作するノードのインターフェイスを定義する抽象的な基本クラスです。 いくつかの関数にはデフォルトの実装が提供されます。
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 |
センダーの後続 (successor) セットに後続ノードを追加するインターフェイスを記述する純粋な仮想メソッド。 戻り値: 後続ノードが追加された場合は 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 を返します。 |