template<class Result, class Ty>
struct const_mem_fun_ref_t
: public unary_function<Ty, Result> {
explicit const_mem_fun_t(Result (Ty::*pm)() const);
Result operator()(const Ty& left) const;
};
The template class stores a copy of pm, which must be a pointer to a member function of class Ty, in a private member object. It defines its member function operator() as returning (left.*Pm)() const.