Public Member Functions | Protected Types | Protected Attributes
RTT::internal::OperationInterfacePartFused< Signature > Class Template Reference

#include <OperationInterfacePartFused.hpp>

Inheritance diagram for RTT::internal::OperationInterfacePartFused< Signature >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

unsigned int arity () const
unsigned int collectArity () const
virtual std::string description () const
virtual std::vector
< ArgumentDescription
getArgumentList () const
const types::TypeInfogetArgumentType (unsigned int arg) const
const types::TypeInfogetCollectType (unsigned int arg) const
boost::shared_ptr
< base::DisposableInterface
getLocalOperation () const
virtual std::string getName () const
 OperationInterfacePartFused (Operation< Signature > *o)
base::DataSourceBase::shared_ptr produce (const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const
virtual
base::DataSourceBase::shared_ptr 
produceCollect (const std::vector< base::DataSourceBase::shared_ptr > &args, DataSource< bool >::shared_ptr blocking) const
virtual
base::DataSourceBase::shared_ptr 
produceHandle () const
virtual
base::DataSourceBase::shared_ptr 
produceSend (const std::vector< base::DataSourceBase::shared_ptr > &args, ExecutionEngine *caller) const
std::string resultType () const

Protected Types

typedef create_sequence
< typename
boost::function_types::parameter_types
< typename CollectType
< Signature >::type >::type > 
CollectSequenceFactory
 The factory for converting data sources to C++ types in collect(). This includes SendHandle.
typedef boost::function_traits
< Signature >::result_type 
result_type
typedef create_sequence
< typename
boost::function_types::parameter_types
< Signature >::type > 
SequenceFactory
 The factory for converting data sources to C++ types in call()

Protected Attributes

Operation< Signature > * op

Detailed Description

template<typename Signature>
class RTT::internal::OperationInterfacePartFused< Signature >

OperationInterfacePart implementation that uses boost::fusion to produce items.

Definition at line 97 of file OperationInterfacePartFused.hpp.


Member Typedef Documentation

template<typename Signature >
typedef create_sequence<typename boost::function_types::parameter_types<typename CollectType<Signature>::type>::type > RTT::internal::OperationInterfacePartFused< Signature >::CollectSequenceFactory [protected]

The factory for converting data sources to C++ types in collect(). This includes SendHandle.

Definition at line 105 of file OperationInterfacePartFused.hpp.

template<typename Signature >
typedef boost::function_traits<Signature>::result_type RTT::internal::OperationInterfacePartFused< Signature >::result_type [protected]

Definition at line 101 of file OperationInterfacePartFused.hpp.

template<typename Signature >
typedef create_sequence<typename boost::function_types::parameter_types<Signature>::type> RTT::internal::OperationInterfacePartFused< Signature >::SequenceFactory [protected]

The factory for converting data sources to C++ types in call()

Definition at line 103 of file OperationInterfacePartFused.hpp.


Constructor & Destructor Documentation

template<typename Signature >
RTT::internal::OperationInterfacePartFused< Signature >::OperationInterfacePartFused ( Operation< Signature > *  o) [inline]

Definition at line 108 of file OperationInterfacePartFused.hpp.


Member Function Documentation

template<typename Signature >
unsigned int RTT::internal::OperationInterfacePartFused< Signature >::arity ( ) const [inline, virtual]

Returns the arity (number of arguments) of this operation.

See also:
produce, produceSend

Implements RTT::OperationInterfacePart.

Definition at line 133 of file OperationInterfacePartFused.hpp.

template<typename Signature >
unsigned int RTT::internal::OperationInterfacePartFused< Signature >::collectArity ( ) const [inline, virtual]

Returns the number of collectable arguments of this operation's function. These consist of the return value and the reference arguments.

See also:
produceCollect

Implements RTT::OperationInterfacePart.

Definition at line 142 of file OperationInterfacePartFused.hpp.

template<typename Signature >
virtual std::string RTT::internal::OperationInterfacePartFused< Signature >::description ( ) const [inline, virtual]

Returns the description of this operation.

Returns:

Implements RTT::OperationInterfacePart.

Definition at line 117 of file OperationInterfacePartFused.hpp.

template<typename Signature >
virtual std::vector<ArgumentDescription> RTT::internal::OperationInterfacePartFused< Signature >::getArgumentList ( ) const [inline, virtual]

Get a description of the desired arguments in the ArgumentDescription format.

Implements RTT::OperationInterfacePart.

Definition at line 121 of file OperationInterfacePartFused.hpp.

template<typename Signature >
const types::TypeInfo* RTT::internal::OperationInterfacePartFused< Signature >::getArgumentType ( unsigned int  arg) const [inline, virtual]

Returns the type information of the n'th argument, with argument zero being the return value.

Parameters:
arg0: get return value type, 1..arity(): get n'th argument type.
Returns:
A TypeInfo Object or null if
  • is out of range

Implements RTT::OperationInterfacePart.

Definition at line 135 of file OperationInterfacePartFused.hpp.

template<typename Signature >
const types::TypeInfo* RTT::internal::OperationInterfacePartFused< Signature >::getCollectType ( unsigned int  arg) const [inline, virtual]

Returns the type information of the n'th collectable argument. The numbering of arg starts from 1.

Parameters:
arg1..collectArity(): get n'th argument type.
Returns:
A TypeInfo Object or null if
  • is out of range

Implements RTT::OperationInterfacePart.

Definition at line 144 of file OperationInterfacePartFused.hpp.

template<typename Signature >
boost::shared_ptr<base::DisposableInterface> RTT::internal::OperationInterfacePartFused< Signature >::getLocalOperation ( ) const [inline, virtual]

Returns any local operation associated with this operation.

Returns:
null if no such operation exists, the operation's implementation otherwise.

Reimplemented from RTT::OperationInterfacePart.

Definition at line 183 of file OperationInterfacePartFused.hpp.

template<typename Signature >
virtual std::string RTT::internal::OperationInterfacePartFused< Signature >::getName ( ) const [inline, virtual]

Returns the name of this operation.

Returns:

Implements RTT::OperationInterfacePart.

Definition at line 113 of file OperationInterfacePartFused.hpp.

template<typename Signature >
base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFused< Signature >::produce ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const [inline, virtual]

Create a DataSource for a given callable operation.

Parameters:
argsThe arguments for the target object's function. The number of arguments must be identical to this->arity()
callerThe Engine that will receive notifications when the method has been executed, in case it runs in the owner's thread. Normally, this is the engine of the caller's TaskContext.
Returns:
a DataSource which will return the result of this operation.
Exceptions:
wrong_number_of_args_exception
wrong_types_of_args_exception
name_not_found_exception

Implements RTT::OperationInterfacePart.

Definition at line 149 of file OperationInterfacePartFused.hpp.

template<typename Signature >
virtual base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFused< Signature >::produceCollect ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
DataSource< bool >::shared_ptr  blocking 
) const [inline, virtual]

Create a DataSource for collecting the results of a Send.

Parameters:
argsA vector of data sources of which the first element contains a properly initialised sendhandle and the remainder of the elements contains datasources for collecting the return value and reference arguments. The total number of items in args must be collectArity() + 1
blockingSet to true to do a blocking collect, false for a polling version.
Returns:
A DataSource which collects the results when evaluated and which returns the SendStatus.
Exceptions:
wrong_number_of_args_exception
wrong_types_of_args_exception
name_not_found_exception
no_asynchronous_operation_exception

Implements RTT::OperationInterfacePart.

Definition at line 169 of file OperationInterfacePartFused.hpp.

template<typename Signature >
virtual base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFused< Signature >::produceHandle ( ) const [inline, virtual]

Create an empty SendHandle object for this operation.

Returns:
a DataSource which contains an empty SendHandle.
Exceptions:
wrong_number_of_args_exception
wrong_types_of_args_exception
name_not_found_exception
no_asynchronous_operation_exception

Implements RTT::OperationInterfacePart.

Definition at line 164 of file OperationInterfacePartFused.hpp.

template<typename Signature >
virtual base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFused< Signature >::produceSend ( const std::vector< base::DataSourceBase::shared_ptr > &  args,
ExecutionEngine caller 
) const [inline, virtual]

Create a DataSource for a given send operation.

Parameters:
argsThe arguments for the target object's function. The number of arguments must be identical to this->arity()
callerThe Engine that will receive notifications when the method has been executed. Normally, this is the engine of the caller's TaskContext.
Returns:
a DataSource which contains the SendHandle of this operation.
See also:
produceHandle
Exceptions:
wrong_number_of_args_exception
wrong_types_of_args_exception
name_not_found_exception
no_asynchronous_operation_exception

Implements RTT::OperationInterfacePart.

Definition at line 158 of file OperationInterfacePartFused.hpp.

template<typename Signature >
std::string RTT::internal::OperationInterfacePartFused< Signature >::resultType ( ) const [inline, virtual]

Return the result (return) type of this operation.

Implements RTT::OperationInterfacePart.

Definition at line 128 of file OperationInterfacePartFused.hpp.


Member Data Documentation

template<typename Signature >
Operation<Signature>* RTT::internal::OperationInterfacePartFused< Signature >::op [protected]

Definition at line 106 of file OperationInterfacePartFused.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