65,186
社区成员




template <typename ConsumerT, typename ReturnT>
class Callback: public CallbackBase<ReturnT>
{
private:
typedef ReturnT (ConsumerT::*PtrMember)();
public:
Callback(ConsumerT* const object, PtrMember member) : object(object), member(member) {}
Callback(const Callback<ConsumerT,ReturnT> &e) : object(e.object), member(e.member) {}
ReturnT operator()()
{
return (const_cast<ConsumerT*>(object)->*member)();
}
private:
ConsumerT* const object;
const PtrMember member;
};