$search

RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT > Class Template Reference

#include <OperationInterfacePartFused.hpp>

Inheritance diagram for RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef std::vector
< base::DataSourceBase::shared_ptr
ArgList

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
 OperationInterfacePartFusedDS (DataSource< boost::shared_ptr< ObjT > > *wp, Operation< Signature > *o)
base::DataSourceBase::shared_ptr produce (ArgList const &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

Private Types

typedef create_sequence
< typename
boost::function_types::parameter_types
< typename CollectType
< Signature >::type >::type > 
CollectSequenceFactory
typedef boost::function_traits
< Signature >::result_type 
result_type
typedef create_sequence
< typename
boost::function_types::parameter_types
< Signature >::type > 
SequenceFactory

Private Attributes

DataSource< boost::shared_ptr
< ObjT > >::shared_ptr 
mwp
Operation< Signature > * op

Detailed Description

template<typename Signature, typename ObjT>
class RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >

OperationInterfacePart implementation that uses boost::fusion to produce items. The methods invoked get their object pointer from the first data source, which contains a shared_ptr.

Parameters:
Signature The full signature, with the object pointer as the first argument.
ObjT The object pointer type used in Signature.

Definition at line 291 of file OperationInterfacePartFused.hpp.


Member Typedef Documentation

template<typename Signature, typename ObjT>
typedef std::vector<base::DataSourceBase::shared_ptr> RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::ArgList

Definition at line 306 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
typedef create_sequence<typename boost::function_types::parameter_types<typename CollectType<Signature>::type>::type > RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::CollectSequenceFactory [private]

Definition at line 295 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
typedef boost::function_traits<Signature>::result_type RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::result_type [private]

Definition at line 296 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
typedef create_sequence<typename boost::function_types::parameter_types<Signature>::type> RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::SequenceFactory [private]

Definition at line 294 of file OperationInterfacePartFused.hpp.


Constructor & Destructor Documentation

template<typename Signature, typename ObjT>
RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::OperationInterfacePartFusedDS ( DataSource< boost::shared_ptr< ObjT > > *  wp,
Operation< Signature > *  o 
) [inline]

Definition at line 301 of file OperationInterfacePartFused.hpp.


Member Function Documentation

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

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

See also:
produce, produceSend

Implements RTT::OperationInterfacePart.

Definition at line 313 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
unsigned int RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::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 322 of file OperationInterfacePartFused.hpp.

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

Returns the description of this operation.

Returns:

Implements RTT::OperationInterfacePart.

Definition at line 333 of file OperationInterfacePartFused.hpp.

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

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

Implements RTT::OperationInterfacePart.

Definition at line 337 of file OperationInterfacePartFused.hpp.

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

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

Parameters:
arg 0: 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 315 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
const types::TypeInfo* RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::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:
arg 1..collectArity(): get n'th argument type.
Returns:
A TypeInfo Object or null if
  • is out of range

Implements RTT::OperationInterfacePart.

Definition at line 324 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
boost::shared_ptr<base::DisposableInterface> RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::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 407 of file OperationInterfacePartFused.hpp.

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

Returns the name of this operation.

Returns:

Implements RTT::OperationInterfacePart.

Definition at line 329 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::produce ( ArgList const &  args,
ExecutionEngine caller 
) const [inline]

Definition at line 346 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
virtual base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::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:
args A 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
blocking Set 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 374 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
virtual base::DataSourceBase::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::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 369 of file OperationInterfacePartFused.hpp.

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

Create a DataSource for a given send operation.

Parameters:
args The arguments for the target object's function. The number of arguments must be identical to this->arity()
caller The 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 358 of file OperationInterfacePartFused.hpp.

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

Return the result (return) type of this operation.

Implements RTT::OperationInterfacePart.

Definition at line 308 of file OperationInterfacePartFused.hpp.


Member Data Documentation

template<typename Signature, typename ObjT>
DataSource<boost::shared_ptr<ObjT> >::shared_ptr RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::mwp [private]

Definition at line 299 of file OperationInterfacePartFused.hpp.

template<typename Signature, typename ObjT>
Operation<Signature>* RTT::internal::OperationInterfacePartFusedDS< Signature, ObjT >::op [private]

Definition at line 297 of file OperationInterfacePartFused.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


rtt
Author(s): RTT Developers
autogenerated on Fri Mar 1 16:27:48 2013