… | |
… | |
53 | }; |
53 | }; |
54 | template<class O1, class O2> |
54 | template<class O1, class O2> |
55 | struct proxy : proxy_base { |
55 | struct proxy : proxy_base { |
56 | virtual R call (void *obj, R (object::*meth)($TYPE)$_TYPEARG) |
56 | virtual R call (void *obj, R (object::*meth)($TYPE)$_TYPEARG) |
57 | { |
57 | { |
58 | ((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)($TYPE)>(meth))) |
58 | return (R)((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)($TYPE)>(meth))) |
59 | ($ARG); |
59 | ($ARG); |
60 | } |
60 | } |
61 | }; |
61 | }; |
62 | |
62 | |
63 | proxy_base *prxy; |
63 | proxy_base *prxy; |