Client adaptor - handler
class handler_clt : public handler { protected: handler_clt(handler_srv* x) : _bdy(x) { } void set_body(void* x) { _bdy = x; } handler* _body() { if (!_bdy) throw "handler has no body"; return (handler*) _bdy; } private: void* _bdy; };