template<class Pred>
class binder1st
: public unary_function<Pred::second_argument_type,
Pred::result_type> {
public:
binder1st(const Pred& pr, const Pred::first_argument_type x);
result_type operator()(const argument_type& y) const;
protected:
Pred op;
Pred::first_argument_type value;
};
The template class stores a copy of pr
, which must be a binary function object, in op
, and a copy of x
in value
. It
defines its member function operator()
as returning op(value, y)
.