pointer_to_binary_function クラス

二項関数ポインターを適応性のある二項関数に変換します。 C++ 11 で非推奨となり、C++ 17 で削除されています。

構文

template <class Arg1, class Arg2, class Result>
class pointer_to_binary_function
    : public binary_function <Arg1, Arg2, Result>
{
    explicit pointer_to_binary_function(
        Result(*pfunc)(Arg1, Arg2));
    Result operator()(Arg1 left, Arg2 right) const;
};

パラメーター

pfunc
変換する二項関数。

left
*pfunc が呼び出される左辺のオブジェクト。

right
*pfunc が呼び出される右側のオブジェクト。

戻り値

クラス テンプレートには、pfunc の コピーが格納されます。 そのメンバー関数 operator()(* pfunc)(Left, right) を返すように定義されています。

解説

二項関数ポインターは関数オブジェクトであり、パラメーターとして二項関数を想定する C++ 標準ライブラリの任意のアルゴリズムに渡される場合がありますが、適応性はありません。 単項関数ポインターをアダプターと共に使用する (値をバインドしたり否定子と共に使用するなど) には、このような適応を可能にする、入れ子にされた型 first_argument_typesecond_argument_typeresult_type と共に指定する必要があります。 pointer_to_binary_function による変換によって、関数アダプターを二項関数ポインターと共に使用できるようになります。

pointer_to_binary_function のコンストラクターが直接使用されることはほとんどありません。 pointer_to_binary_function アダプターの述語を宣言および使用する方法の例については、ヘルパー関数 ptr_fun をご覧ください。