# std::binder1st, std::binder2nd

From cppreference.com
< cpp‎ | utility‎ | functional

template< class Fn >

class binder1st : public std::unary_function<typename Fn::second_argument_type,
typename Fn::result_type> {
protected:
Fn op;
typename Fn::first_argument_type value;
public:
binder1st(const Fn& fn,
const typename Fn::first_argument_type& value);
typename Fn::result_type
operator()(const typename Fn::second_argument_type& x) const;
typename Fn::result_type
operator()(typename Fn::second_argument_type& x) const;

};

(1)

(until C++17)
(deprecated since C++11)

template< class Fn >

class binder2nd : public unary_function<typename Fn::first_argument_type,
typename Fn::result_type> {
protected:
Fn op;
typename Fn::second_argument_type value;
public:
binder2nd(const Fn& fn,
const typename Fn::second_argument_type& value);
typename Fn::result_type
operator()(const typename Fn::first_argument_type& x) const;
typename Fn::result_type
operator()(typename Fn::first_argument_type& x) const;

};

(2)

(until C++17)
(deprecated since C++11)

A function object that binds an argument to a binary function.

The value of the parameter is passed to the object at the construction time and stored within the object. Whenever the function object is invoked though operator(), the stored value is passed as one of the arguments, the other argument is passed as an argument of operator(). The resulting function object is an unary function.

1) Binds the first parameter to the value `value` given at the construction of the object.
2) Binds the second parameter to the value `value` given at the construction of the object.

### See also

bind1st bind2nd (until C++17)(until C++17) | binds one argument to a binary function (function template)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/utility/functional/binder12&oldid=73944"