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 ( _Pleft->* _Pm)( right).