39 #ifndef ORO_INVOKER_SIGNATURE_HPP 40 #define ORO_INVOKER_SIGNATURE_HPP 42 #include <boost/type_traits.hpp> 44 #include "../rtt-fwd.hpp" 57 template<
int,
class Signature,
class ToInvoke>
60 template<
class F,
class ToInvoke>
63 typedef typename boost::function_traits<F>::result_type
result_type;
94 template<
class F,
class ToInvoke>
97 typedef typename boost::function_traits<F>::result_type
result_type;
98 typedef typename boost::function_traits<F>::arg1_type
arg1_type;
110 return impl->call( a1 );
113 result_type
call(arg1_type a1) {
114 return operator()(a1);
120 return impl->send(a1);
128 template<
class F,
class ToInvoke>
131 typedef typename boost::function_traits<F>::result_type
result_type;
132 typedef typename boost::function_traits<F>::arg1_type
arg1_type;
133 typedef typename boost::function_traits<F>::arg2_type
arg2_type;
145 return impl->call(t1, t2);
149 result_type
call(arg1_type a1, arg2_type a2) {
150 return operator()(a1,a2);
156 return impl->send(a1,a2);
163 template<
class F,
class ToInvoke>
166 typedef typename boost::function_traits<F>::result_type
result_type;
167 typedef typename boost::function_traits<F>::arg1_type
arg1_type;
168 typedef typename boost::function_traits<F>::arg2_type
arg2_type;
169 typedef typename boost::function_traits<F>::arg3_type
arg3_type;
178 result_type
operator()(arg1_type t1, arg2_type t2, arg3_type t3)
181 return impl->call(t1, t2, t3);
185 result_type
call(arg1_type a1, arg2_type a2, arg3_type a3) {
186 return operator()(a1,a2,a3);
192 return impl->send(a1,a2,a3);
199 template<
class F,
class ToInvoke>
202 typedef typename boost::function_traits<F>::result_type
result_type;
203 typedef typename boost::function_traits<F>::arg1_type
arg1_type;
204 typedef typename boost::function_traits<F>::arg2_type
arg2_type;
205 typedef typename boost::function_traits<F>::arg3_type
arg3_type;
206 typedef typename boost::function_traits<F>::arg4_type
arg4_type;
215 result_type
operator()(arg1_type t1, arg2_type t2, arg3_type t3, arg4_type t4)
218 return impl->call(t1, t2, t3, t4);
222 result_type
call(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4) {
223 return operator()(a1,a2,a3,a4);
229 return impl->send(a1,a2,a3,a4);
237 template<
class F,
class ToInvoke>
240 typedef typename boost::function_traits<F>::result_type
result_type;
241 typedef typename boost::function_traits<F>::arg1_type
arg1_type;
242 typedef typename boost::function_traits<F>::arg2_type
arg2_type;
243 typedef typename boost::function_traits<F>::arg3_type
arg3_type;
244 typedef typename boost::function_traits<F>::arg4_type
arg4_type;
245 typedef typename boost::function_traits<F>::arg5_type
arg5_type;
254 result_type
operator()(arg1_type t1, arg2_type t2, arg3_type t3, arg4_type t4, arg5_type t5)
257 return impl->call(t1, t2, t3, t4, t5);
261 result_type
call(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5) {
262 return operator()(a1,a2,a3,a4,a5);
268 return impl->send(a1,a2,a3,a4,a5);
276 template<
class F,
class ToInvoke>
279 typedef typename boost::function_traits<F>::result_type
result_type;
280 typedef typename boost::function_traits<F>::arg1_type
arg1_type;
281 typedef typename boost::function_traits<F>::arg2_type
arg2_type;
282 typedef typename boost::function_traits<F>::arg3_type
arg3_type;
283 typedef typename boost::function_traits<F>::arg4_type
arg4_type;
284 typedef typename boost::function_traits<F>::arg5_type
arg5_type;
285 typedef typename boost::function_traits<F>::arg6_type
arg6_type;
294 result_type
operator()(arg1_type t1, arg2_type t2, arg3_type t3, arg4_type t4, arg5_type t5, arg6_type t6)
297 return impl->call(t1, t2, t3, t4, t5, t6);
301 result_type
call(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5, arg6_type a6) {
302 return operator()(a1,a2,a3,a4,a5,a6);
305 SendHandle<F> send(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5, arg6_type a6)
308 return impl->send(a1,a2,a3,a4,a5,a6);
316 template<
class F,
class ToInvoke>
319 typedef typename boost::function_traits<F>::result_type
result_type;
320 typedef typename boost::function_traits<F>::arg1_type
arg1_type;
321 typedef typename boost::function_traits<F>::arg2_type
arg2_type;
322 typedef typename boost::function_traits<F>::arg3_type
arg3_type;
323 typedef typename boost::function_traits<F>::arg4_type
arg4_type;
324 typedef typename boost::function_traits<F>::arg5_type
arg5_type;
325 typedef typename boost::function_traits<F>::arg6_type
arg6_type;
326 typedef typename boost::function_traits<F>::arg7_type
arg7_type;
335 result_type
operator()(arg1_type t1, arg2_type t2, arg3_type t3, arg4_type t4, arg5_type t5, arg6_type t6, arg7_type t7)
338 return impl->call(t1, t2, t3, t4, t5, t6, t7);
342 result_type
call(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5, arg6_type a6, arg7_type a7) {
343 return operator()(a1,a2,a3,a4,a5,a6,a7);
346 SendHandle<F> send(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5, arg6_type a6, arg7_type a7)
349 return impl->send(a1,a2,a3,a4,a5,a6,a7);
result_type operator()(arg1_type t1, arg2_type t2, arg3_type t3)
result_type operator()(arg1_type t1, arg2_type t2, arg3_type t3, arg4_type t4, arg5_type t5, arg6_type t6)
boost::function_traits< F >::arg5_type arg5_type
boost::function_traits< F >::arg6_type arg6_type
result_type operator()(arg1_type t1, arg2_type t2, arg3_type t3, arg4_type t4)
boost::function_traits< F >::arg4_type arg4_type
boost::function_traits< F >::arg2_type arg2_type
InvokerSignature(ToInvoke implementation)
boost::function_traits< F >::arg2_type arg2_type
SendHandle< F > send(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5)
boost::function_traits< F >::arg1_type arg1_type
InvokerSignature(ToInvoke implementation)
result_type call(arg1_type a1)
result_type operator()(arg1_type a1)
InvokerSignature(ToInvoke implementation)
SendHandle< F > send(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4)
result_type call(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4)
boost::function_traits< F >::arg4_type arg4_type
boost::function_traits< F >::arg2_type arg2_type
SendHandle< F > send(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5, arg6_type a6, arg7_type a7)
boost::function_traits< F >::arg5_type arg5_type
boost::function_traits< F >::arg2_type arg2_type
boost::function_traits< F >::result_type result_type
InvokerSignature(ToInvoke implementation)
boost::function_traits< F >::arg2_type arg2_type
boost::function_traits< F >::arg2_type arg2_type
boost::function_traits< F >::arg1_type arg1_type
boost::function_traits< F >::arg1_type arg1_type
boost::function_traits< F >::arg1_type arg1_type
result_type operator()(arg1_type t1, arg2_type t2, arg3_type t3, arg4_type t4, arg5_type t5, arg6_type t6, arg7_type t7)
SendHandle< F > send(arg1_type a1)
InvokerSignature(ToInvoke implementation)
The SendHandle is used to collect the result values of an asynchronous invocation. The template argument Signature must have the same type as the method being invoked.
result_type call(arg1_type a1, arg2_type a2, arg3_type a3)
boost::function_traits< F >::arg7_type arg7_type
boost::function_traits< F >::arg6_type arg6_type
boost::function_traits< F >::result_type result_type
result_type call(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5, arg6_type a6)
result_type call(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5, arg6_type a6, arg7_type a7)
boost::function_traits< F >::arg3_type arg3_type
result_type call(arg1_type a1, arg2_type a2)
SendHandle< F > send(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5, arg6_type a6)
boost::function_traits< F >::arg1_type arg1_type
boost::function_traits< F >::result_type result_type
boost::function_traits< F >::result_type result_type
boost::function_traits< F >::arg3_type arg3_type
boost::function_traits< F >::arg3_type arg3_type
InvokerSignature(ToInvoke implementation)
boost::function_traits< F >::arg3_type arg3_type
boost::function_traits< F >::arg4_type arg4_type
SendHandle< F > send(arg1_type a1, arg2_type a2, arg3_type a3)
result_type call(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5)
boost::function_traits< F >::result_type result_type
boost::function_traits< F >::result_type result_type
boost::function_traits< F >::arg3_type arg3_type
boost::function_traits< F >::result_type result_type
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
result_type operator()(arg1_type t1, arg2_type t2, arg3_type t3, arg4_type t4, arg5_type t5)
InvokerSignature(ToInvoke implementation)
boost::function_traits< F >::result_type result_type
boost::function_traits< F >::arg1_type arg1_type
boost::function_traits< F >::arg1_type arg1_type
boost::function_traits< F >::arg4_type arg4_type
boost::function_traits< F >::arg5_type arg5_type
SendHandle< F > send(arg1_type a1, arg2_type a2)
InvokerSignature(ToInvoke implementation)
result_type operator()(arg1_type t1, arg2_type t2)