Public Types | Public Member Functions | Protected Types | Protected Attributes
RTT::internal::LocalOperationCallerImpl< FunctionT > Class Template Reference

#include <LocalOperationCaller.hpp>

Inheritance diagram for RTT::internal::LocalOperationCallerImpl< FunctionT >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef boost::function_traits
< Signature >::result_type 
result_reference
typedef boost::function_traits
< Signature >::result_type 
result_type
typedef boost::shared_ptr
< LocalOperationCallerImpl
shared_ptr
typedef FunctionT Signature
typedef boost::function_traits
< Signature
traits

Public Member Functions

template<class Xignored >
result_type call_impl ()
template<class T1 >
result_type call_impl (T1 a1)
template<class T1 , class T2 >
result_type call_impl (T1 a1, T2 a2)
template<class T1 , class T2 , class T3 >
result_type call_impl (T1 a1, T2 a2, T3 a3)
template<class T1 , class T2 , class T3 , class T4 >
result_type call_impl (T1 a1, T2 a2, T3 a3, T4 a4)
template<class T1 , class T2 , class T3 , class T4 , class T5 >
result_type call_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
result_type call_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
result_type call_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
bool checkCaller ()
virtual shared_ptr cloneRT () const =0
SendStatus collect_impl ()
template<class T1 >
SendStatus collect_impl (T1 &a1)
template<class T1 , class T2 >
SendStatus collect_impl (T1 &a1, T2 &a2)
template<class T1 , class T2 , class T3 >
SendStatus collect_impl (T1 &a1, T2 &a2, T3 &a3)
template<class T1 , class T2 , class T3 , class T4 >
SendStatus collect_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4)
template<class T1 , class T2 , class T3 , class T4 , class T5 >
SendStatus collect_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5)
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
SendStatus collect_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5, T6 &a6)
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
SendStatus collect_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5, T6 &a6, T7 &a7)
SendStatus collectIfDone_impl ()
template<class T1 >
SendStatus collectIfDone_impl (T1 &a1)
template<class T1 , class T2 >
SendStatus collectIfDone_impl (T1 &a1, T2 &a2)
template<class T1 , class T2 , class T3 >
SendStatus collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3)
template<class T1 , class T2 , class T3 , class T4 >
SendStatus collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4)
template<class T1 , class T2 , class T3 , class T4 , class T5 >
SendStatus collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5)
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
SendStatus collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5, T6 &a6)
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
SendStatus collectIfDone_impl (T1 &a1, T2 &a2, T3 &a3, T4 &a4, T5 &a5, T6 &a6, T7 &a7)
void dispose ()
SendHandle< Signaturedo_send (shared_ptr cl)
void executeAndDispose ()
virtual bool isError () const
 LocalOperationCallerImpl ()
virtual bool ready () const
result_type ret_impl ()
template<class T1 >
result_type ret_impl (T1 a1)
template<class T1 , class T2 >
result_type ret_impl (T1 a1, T2 a2)
template<class T1 , class T2 , class T3 >
result_type ret_impl (T1 a1, T2 a2, T3 a3)
template<class T1 , class T2 , class T3 , class T4 >
result_type ret_impl (T1 a1, T2 a2, T3 a3, T4 a4)
template<class T1 , class T2 , class T3 , class T4 , class T5 >
result_type ret_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
result_type ret_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
result_type ret_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
SendHandle< Signaturesend_impl ()
template<class T1 >
SendHandle< Signaturesend_impl (T1 a1)
template<class T1 , class T2 >
SendHandle< Signaturesend_impl (T1 a1, T2 a2)
template<class T1 , class T2 , class T3 >
SendHandle< Signaturesend_impl (T1 a1, T2 a2, T3 a3)
template<class T1 , class T2 , class T3 , class T4 >
SendHandle< Signaturesend_impl (T1 a1, T2 a2, T3 a3, T4 a4)
template<class T1 , class T2 , class T3 , class T4 , class T5 >
SendHandle< Signaturesend_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
SendHandle< Signaturesend_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
SendHandle< Signaturesend_impl (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)

Protected Types

typedef BindStorage< FunctionT > Store

Protected Attributes

base::OperationCallerBase
< FunctionT >::shared_ptr 
self

Detailed Description

template<class FunctionT>
class RTT::internal::LocalOperationCallerImpl< FunctionT >

Implements call, send, collect, collectIfDone for all function arities.

You can pass arguments by (const) value and by (const) reference. Passing pointers is 'accidentally' supported in-process, it will not work with out-of-process calls. The send takes all arguments (C++ doesn't know pure out args), the collect() only takes the return value and the 'reference' arguments (if any)

If this object is disposed, the collection of results is no longer possible and this will generate a SendFailure at caller side.

Definition at line 77 of file LocalOperationCaller.hpp.


Member Typedef Documentation

template<class FunctionT>
typedef boost::function_traits<Signature>::result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::result_reference

Definition at line 86 of file LocalOperationCaller.hpp.

template<class FunctionT>
typedef boost::function_traits<Signature>::result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::result_type

Definition at line 85 of file LocalOperationCaller.hpp.

template<class FunctionT>
typedef boost::shared_ptr<LocalOperationCallerImpl> RTT::internal::LocalOperationCallerImpl< FunctionT >::shared_ptr

Use this type for shared pointer storage of an OperationCallerInterface object.

Reimplemented from RTT::base::OperationCallerBase< FunctionT >.

Definition at line 89 of file LocalOperationCaller.hpp.

template<class FunctionT>
typedef FunctionT RTT::internal::LocalOperationCallerImpl< FunctionT >::Signature

Definition at line 84 of file LocalOperationCaller.hpp.

template<class FunctionT>
typedef BindStorage<FunctionT> RTT::internal::LocalOperationCallerImpl< FunctionT >::Store [protected]

Definition at line 620 of file LocalOperationCaller.hpp.

template<class FunctionT>
typedef boost::function_traits<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::traits

Definition at line 87 of file LocalOperationCaller.hpp.


Constructor & Destructor Documentation

template<class FunctionT>
RTT::internal::LocalOperationCallerImpl< FunctionT >::LocalOperationCallerImpl ( ) [inline]

Definition at line 83 of file LocalOperationCaller.hpp.


Member Function Documentation

template<class FunctionT>
template<class Xignored >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( ) [inline]

Invoke this operator if the method has no arguments.

Definition at line 351 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1) [inline]

Invoke this operator if the method has one argument.

Definition at line 375 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1,
T2  a2 
) [inline]

Definition at line 399 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1,
T2  a2,
T3  a3 
) [inline]

Definition at line 421 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4 
) [inline]

Definition at line 443 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
) [inline]

Definition at line 465 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
) [inline]

Definition at line 487 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::call_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7 
) [inline]

Definition at line 509 of file LocalOperationCaller.hpp.

template<class FunctionT>
bool RTT::internal::LocalOperationCallerImpl< FunctionT >::checkCaller ( ) [inline]

Definition at line 284 of file LocalOperationCaller.hpp.

template<class FunctionT>
virtual shared_ptr RTT::internal::LocalOperationCallerImpl< FunctionT >::cloneRT ( ) const [pure virtual]
template<class FunctionT>
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( ) [inline]

Definition at line 293 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1) [inline]

Definition at line 299 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1,
T2 &  a2 
) [inline]

Definition at line 306 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3 
) [inline]

Definition at line 313 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4 
) [inline]

Definition at line 320 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4,
T5 &  a5 
) [inline]

Definition at line 327 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4,
T5 &  a5,
T6 &  a6 
) [inline]

Definition at line 334 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collect_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4,
T5 &  a5,
T6 &  a6,
T7 &  a7 
) [inline]

Definition at line 341 of file LocalOperationCaller.hpp.

template<class FunctionT>
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( ) [inline]

Definition at line 204 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1) [inline]

Definition at line 215 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1,
T2 &  a2 
) [inline]

Definition at line 225 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3 
) [inline]

Definition at line 235 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4 
) [inline]

Definition at line 245 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4,
T5 &  a5 
) [inline]

Definition at line 255 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4,
T5 &  a5,
T6 &  a6 
) [inline]

Definition at line 265 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
SendStatus RTT::internal::LocalOperationCallerImpl< FunctionT >::collectIfDone_impl ( T1 &  a1,
T2 &  a2,
T3 &  a3,
T4 &  a4,
T5 &  a5,
T6 &  a6,
T7 &  a7 
) [inline]

Definition at line 275 of file LocalOperationCaller.hpp.

template<class FunctionT>
void RTT::internal::LocalOperationCallerImpl< FunctionT >::dispose ( ) [inline, virtual]

As long as dispose (or executeAndDispose() ) is not called, this object will not be destroyed.

Implements RTT::base::DisposableInterface.

Definition at line 126 of file LocalOperationCaller.hpp.

template<class FunctionT>
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::do_send ( shared_ptr  cl) [inline]

Definition at line 130 of file LocalOperationCaller.hpp.

template<class FunctionT>
void RTT::internal::LocalOperationCallerImpl< FunctionT >::executeAndDispose ( ) [inline, virtual]

Execute functionality and free this object. You may no longer use this object after calling this method.

Implements RTT::base::DisposableInterface.

Definition at line 99 of file LocalOperationCaller.hpp.

template<class FunctionT>
virtual bool RTT::internal::LocalOperationCallerImpl< FunctionT >::isError ( ) const [inline, virtual]

Definition at line 95 of file LocalOperationCaller.hpp.

template<class FunctionT>
virtual bool RTT::internal::LocalOperationCallerImpl< FunctionT >::ready ( ) const [inline, virtual]

Available such that implementations have a way to expose their ready-ness, ie being able to do the call.

Implements RTT::base::OperationCallerInterface.

Definition at line 91 of file LocalOperationCaller.hpp.

template<class FunctionT>
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( ) [inline]

Definition at line 530 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1) [inline]

This function has the same signature of call() and returns the stored return value, and tries to return all arguments.

Definition at line 542 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1,
T2  a2 
) [inline]

Definition at line 553 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1,
T2  a2,
T3  a3 
) [inline]

Definition at line 564 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4 
) [inline]

Definition at line 575 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
) [inline]

Definition at line 586 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
) [inline]

Definition at line 597 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
result_type RTT::internal::LocalOperationCallerImpl< FunctionT >::ret_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7 
) [inline]

Definition at line 608 of file LocalOperationCaller.hpp.

template<class FunctionT>
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( ) [inline]

Definition at line 143 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1) [inline]

Definition at line 148 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1,
T2  a2 
) [inline]

Definition at line 156 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1,
T2  a2,
T3  a3 
) [inline]

Definition at line 164 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4 
) [inline]

Definition at line 172 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
) [inline]

Definition at line 180 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
) [inline]

Definition at line 188 of file LocalOperationCaller.hpp.

template<class FunctionT>
template<class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
SendHandle<Signature> RTT::internal::LocalOperationCallerImpl< FunctionT >::send_impl ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7 
) [inline]

Definition at line 196 of file LocalOperationCaller.hpp.


Member Data Documentation

template<class FunctionT>
base::OperationCallerBase<FunctionT>::shared_ptr RTT::internal::LocalOperationCallerImpl< FunctionT >::self [protected]

Used to refcount self as long as dispose() is not called. This refcount is real-time since both shared_ptr and object were allocated with the rt_allocator class.

Definition at line 626 of file LocalOperationCaller.hpp.


The documentation for this class was generated from the following file:


rtt
Author(s): RTT Developers
autogenerated on Sat Jun 8 2019 18:46:39