次の方法で共有


pointer_to_unary_function クラス

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

構文

template <class Arg, class Result>
class pointer_to_unary_function
    : public unary_function<Arg, Result>
{
    explicit pointer_to_unary_function(Result(*pfunc)(Arg));
    Result operator()(Arg left) const;
};

パラメーター

pfunc
変換する二項関数。

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

戻り値

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

解説

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

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