… | |
… | |
39 | }; |
39 | }; |
40 | template<class O1, class O2> |
40 | template<class O1, class O2> |
41 | struct proxy : proxy_base { |
41 | struct proxy : proxy_base { |
42 | virtual R call (void *obj, R (object::*meth)()) |
42 | virtual R call (void *obj, R (object::*meth)()) |
43 | { |
43 | { |
44 | ((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)()>(meth))) |
44 | return (R)((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)()>(meth))) |
45 | (); |
45 | (); |
46 | } |
46 | } |
47 | }; |
47 | }; |
48 | |
48 | |
49 | proxy_base *prxy; |
49 | proxy_base *prxy; |
… | |
… | |
82 | }; |
82 | }; |
83 | template<class O1, class O2> |
83 | template<class O1, class O2> |
84 | struct proxy : proxy_base { |
84 | struct proxy : proxy_base { |
85 | virtual R call (void *obj, R (object::*meth)(A1), A1 a1) |
85 | virtual R call (void *obj, R (object::*meth)(A1), A1 a1) |
86 | { |
86 | { |
87 | ((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1)>(meth))) |
87 | return (R)((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1)>(meth))) |
88 | (a1); |
88 | (a1); |
89 | } |
89 | } |
90 | }; |
90 | }; |
91 | |
91 | |
92 | proxy_base *prxy; |
92 | proxy_base *prxy; |
… | |
… | |
125 | }; |
125 | }; |
126 | template<class O1, class O2> |
126 | template<class O1, class O2> |
127 | struct proxy : proxy_base { |
127 | struct proxy : proxy_base { |
128 | virtual R call (void *obj, R (object::*meth)(A1, A2), A1 a1, A2 a2) |
128 | virtual R call (void *obj, R (object::*meth)(A1, A2), A1 a1, A2 a2) |
129 | { |
129 | { |
130 | ((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1, A2)>(meth))) |
130 | return (R)((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1, A2)>(meth))) |
131 | (a1, a2); |
131 | (a1, a2); |
132 | } |
132 | } |
133 | }; |
133 | }; |
134 | |
134 | |
135 | proxy_base *prxy; |
135 | proxy_base *prxy; |
… | |
… | |
168 | }; |
168 | }; |
169 | template<class O1, class O2> |
169 | template<class O1, class O2> |
170 | struct proxy : proxy_base { |
170 | struct proxy : proxy_base { |
171 | virtual R call (void *obj, R (object::*meth)(A1, A2, A3), A1 a1, A2 a2, A3 a3) |
171 | virtual R call (void *obj, R (object::*meth)(A1, A2, A3), A1 a1, A2 a2, A3 a3) |
172 | { |
172 | { |
173 | ((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1, A2, A3)>(meth))) |
173 | return (R)((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1, A2, A3)>(meth))) |
174 | (a1, a2, a3); |
174 | (a1, a2, a3); |
175 | } |
175 | } |
176 | }; |
176 | }; |
177 | |
177 | |
178 | proxy_base *prxy; |
178 | proxy_base *prxy; |
… | |
… | |
211 | }; |
211 | }; |
212 | template<class O1, class O2> |
212 | template<class O1, class O2> |
213 | struct proxy : proxy_base { |
213 | struct proxy : proxy_base { |
214 | virtual R call (void *obj, R (object::*meth)(A1, A2, A3, A4), A1 a1, A2 a2, A3 a3, A4 a4) |
214 | virtual R call (void *obj, R (object::*meth)(A1, A2, A3, A4), A1 a1, A2 a2, A3 a3, A4 a4) |
215 | { |
215 | { |
216 | ((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1, A2, A3, A4)>(meth))) |
216 | return (R)((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1, A2, A3, A4)>(meth))) |
217 | (a1, a2, a3, a4); |
217 | (a1, a2, a3, a4); |
218 | } |
218 | } |
219 | }; |
219 | }; |
220 | |
220 | |
221 | proxy_base *prxy; |
221 | proxy_base *prxy; |
… | |
… | |
254 | }; |
254 | }; |
255 | template<class O1, class O2> |
255 | template<class O1, class O2> |
256 | struct proxy : proxy_base { |
256 | struct proxy : proxy_base { |
257 | virtual R call (void *obj, R (object::*meth)(A1, A2, A3, A4, A5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) |
257 | virtual R call (void *obj, R (object::*meth)(A1, A2, A3, A4, A5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) |
258 | { |
258 | { |
259 | ((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1, A2, A3, A4, A5)>(meth))) |
259 | return (R)((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1, A2, A3, A4, A5)>(meth))) |
260 | (a1, a2, a3, a4, a5); |
260 | (a1, a2, a3, a4, a5); |
261 | } |
261 | } |
262 | }; |
262 | }; |
263 | |
263 | |
264 | proxy_base *prxy; |
264 | proxy_base *prxy; |
… | |
… | |
297 | }; |
297 | }; |
298 | template<class O1, class O2> |
298 | template<class O1, class O2> |
299 | struct proxy : proxy_base { |
299 | struct proxy : proxy_base { |
300 | virtual R call (void *obj, R (object::*meth)(A1, A2, A3, A4, A5, A6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) |
300 | virtual R call (void *obj, R (object::*meth)(A1, A2, A3, A4, A5, A6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) |
301 | { |
301 | { |
302 | ((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1, A2, A3, A4, A5, A6)>(meth))) |
302 | return (R)((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1, A2, A3, A4, A5, A6)>(meth))) |
303 | (a1, a2, a3, a4, a5, a6); |
303 | (a1, a2, a3, a4, a5, a6); |
304 | } |
304 | } |
305 | }; |
305 | }; |
306 | |
306 | |
307 | proxy_base *prxy; |
307 | proxy_base *prxy; |
… | |
… | |
340 | }; |
340 | }; |
341 | template<class O1, class O2> |
341 | template<class O1, class O2> |
342 | struct proxy : proxy_base { |
342 | struct proxy : proxy_base { |
343 | virtual R call (void *obj, R (object::*meth)(A1, A2, A3, A4, A5, A6, A7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) |
343 | virtual R call (void *obj, R (object::*meth)(A1, A2, A3, A4, A5, A6, A7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) |
344 | { |
344 | { |
345 | ((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1, A2, A3, A4, A5, A6, A7)>(meth))) |
345 | return (R)((reinterpret_cast<O1 *>(obj)) ->* (reinterpret_cast<R (O2::*)(A1, A2, A3, A4, A5, A6, A7)>(meth))) |
346 | (a1, a2, a3, a4, a5, a6, a7); |
346 | (a1, a2, a3, a4, a5, a6, a7); |
347 | } |
347 | } |
348 | }; |
348 | }; |
349 | |
349 | |
350 | proxy_base *prxy; |
350 | proxy_base *prxy; |