mem_fun1_ref_t クラス

参照引数による初期化を行うときに、1 つの引数を使用する non_const メンバー関数を二項関数オブジェクトとして呼び出せるようにするアダプター クラス。 C++ 11 で非推奨となり、C++ 17 で削除されています。

構文

template <class Result, class Type, class Arg>
class mem_fun1_ref_t : public binary_function<Type, Arg, Result> {
    explicit mem_fun1_ref_t(
    Result (Type::* _Pm)(Arg));

    Result operator()(
    Type& left,
    Arg right) const;
};

パラメーター

_Pm
関数オブジェクトに変換されるクラス Type のメンバー関数へのポインター。

left
_Pm メンバー関数が呼び出されるオブジェクト。

right
_Pm に渡される引数。

戻り値

適合可能な二項関数。

解説

このクラス テンプレートは _Pm のコピーをプライベート メンバー オブジェクトに格納します。これは、Type クラスのメンバー関数へのポインターである必要があります。 そのメンバー関数 operator() は (left.* _Pm)(right) を返すように定義されています。

mem_fun1_ref_t のコンストラクターは通常は直接使用されません。ヘルパー関数 mem_fun_ref を使用してメンバー関数を適合させます。 メンバー関数アダプターの使用例については、「mem_fun_ref」を参照してください。