We recommend using Visual Studio 2017

const_mem_fun1_ref_t Class


The latest version of this topic can be found at const_mem_fun1_ref_t Class.

An adapter class that allows a 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 const_mem_fun1_ref_t
 : public binary_function<Type, Arg, Result> {
    explicit const_mem_fun1_ref_t(Result (Type::* _Pm)(Arg) const);

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



A pointer to the member function of class Type to be converted to a function object.

The const object that the _Pm member function is called on.

The argument that is being given to _Pm.

An adaptable binary function.

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) const.

The constructor of const_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 examples of how to use member function adaptors.

Header: <functional>

Namespace: std

Thread Safety in the C++ Standard Library
Standard Template Library