An adapter class that allows a non_const member function that takes a single argument to be called as a binary function object when initialized with a reference argument.
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;
   };
Parameters
_Pm
A pointer to the member function of class Type to be converted to a function object._Left
The object that the _Pm member function is called on._Right
The argument that is being given to _Pm.
Return Value
An adaptable binary function.
Remarks
The template class stores a copy of _Pm, which must be a pointer to a member function of class Type, in a private member object. It defines its member function operator() as returning (_Left.* _Pm)(_Right).
Example
The constructor of mem_fun1_ref_t is not usually used directly; the helper function mem_fun_ref is used to adapt member functions. See mem_fun_ref for an example of how to use member function adaptors.
Requirements
Header: <functional>
Namespace: std
See Also
Reference
Thread Safety in the Standard C++ Library