filter_t テンプレート・クラス

概要

parallel_pipeline 関数とともに使用されるフィルターまたは複合フィルター。

ヘッダー

 #include "tbb/pipeline.h"

構文

template<typename T, typename U> class filter_t;
template<typename T, typename U, typename Func>
filter_t<T,U> make_filter( filter::mode mode, const Func& f );
template<typename T, typename V, typename U>
filter_t<T,U> operator&( const filter_t<T,V>& left, 
                         const filter_t<V,U>& right );

説明

filter_t は、入出力の型を指定する厳密な型のフィルターです。filter_t は、ファンクターから、または operator& を使用して 2 つの filter_t オブジェクトを組み合わせて構築することができます。同じ filter_t オブジェクトを複数の & 表記で共有できます。

メンバー

namespace tbb {
    template<typename T, typename U>
    class filter_t {
    public:
        filter_t();
        filter_t( const filter_t<T,U>& rhs );
        template<typename Func>
        filter_t( filter::mode mode, const Func& func );
        void operator=( const filter_t<T,U>& rhs );
        ~filter_t();
        void clear();
    };

    template<typename T, typename U, typename Func>
    filter_t<T,U> make_filter( filter::mode mode, const Func& f );
    template<typename T, typename V, typename U>
    filter_t<T,U> operator&( const filter_t<T,V>& left, 
                             const filter_t<V,U>& right );
}
次の表は、このテンプレート・クラスのメンバーの詳細な情報を提供します。
メンバー 説明
filter _t()

未定義フィルターを構築します。

注意

operator& または parallel_pipeline で未定義フィルターを使用した場合の結果は不定です。

filter_t( const filter_t<T,U>& rhs )

rhs のコピーを構築します。

template<typename Func> filter_t( filter::mode mode, const Func& f )

ファンクター f のコピーを使用して T 型の入力値 tU 型の出力値 u にマップする . filter_t を構築します。

parallel_pipeline は、filter_t を使用する場合、Tvoid でなければ、f(t) を評価して u を計算します。void の場合、uu=f(fc) 式によって計算されます。fc は flow_control 型です。

void operator=( const filter_t<T,U>& rhs )

rhs に関連するファンクターを使用するように、*this を更新します。

~filter_t()

filter_t を破棄します。

void clear()

*this を未定義フィルターに設定します。

template<typename T, typename U, typename Func> filter_t<T,U> make_filter(filter::mode mode, const Func& f)

戻り値: filter_t<T,U>(mode,f)

template<typename T, typename V, typename U> filter_t<T,U> operator& (const filter_t<T,V>& left, const filter_t<V,U>& right)

要件: left の出力の型は right の入力の型と一致しなければなりません。

戻り値: filter_t はフィルター leftright の組み合わせを表します。この組み合わせは、left の出力値が right の入力値であるかのように動作します。

関連情報