Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
RTT::internal::AssignableDataSource< T > Class Template Referenceabstract

#include <DataSource.hpp>

Inheritance diagram for RTT::internal::AssignableDataSource< T >:
Inheritance graph
[legend]

Public Types

typedef boost::intrusive_ptr< const AssignableDataSource< T > > const_ptr
 
typedef DataSource< T >::const_reference_t const_reference_t
 
typedef boost::call_traits< value_t >::param_type param_t
 
typedef boost::call_traits< value_t >::reference reference_t
 
typedef boost::intrusive_ptr< AssignableDataSource< T > > shared_ptr
 
typedef DataSource< T >::value_t value_t
 
- Public Types inherited from RTT::internal::DataSource< T >
typedef boost::intrusive_ptr< const DataSource< T > > const_ptr
 
typedef details::GetConstRef< T >::type const_reference_t
 
typedef T result_t
 
typedef boost::intrusive_ptr< DataSource< T > > shared_ptr
 
typedef T value_t
 
- Public Types inherited from RTT::base::DataSourceBase
typedef boost::intrusive_ptr< const DataSourceBaseconst_ptr
 
typedef boost::intrusive_ptr< DataSourceBaseshared_ptr
 

Public Member Functions

virtual AssignableDataSource< T > * clone () const =0
 
virtual AssignableDataSource< T > * copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &alreadyCloned) const =0
 
void * getRawPointer ()
 
virtual bool isAssignable () const
 
virtual void set (param_t t)=0
 
virtual reference_t set ()=0
 
virtual bool update (base::DataSourceBase *other)
 
virtual base::ActionInterfaceupdateAction (base::DataSourceBase *other)
 
- Public Member Functions inherited from RTT::internal::DataSource< T >
 BOOST_STATIC_ASSERT (!details::HasConst< T >::value)
 
virtual bool evaluate () const
 
virtual result_t get () const =0
 
void const * getRawConstPointer ()
 
virtual std::string getType () const
 
virtual const types::TypeInfogetTypeInfo () const
 
virtual std::string getTypeName () const
 
virtual const_reference_t rvalue () const =0
 
virtual result_t value () const =0
 
- Public Member Functions inherited from RTT::base::DataSourceBase
virtual DataSourceBasecopy (std::map< const DataSourceBase *, DataSourceBase * > &alreadyCloned) const =0
 
 DataSourceBase ()
 
void deref () const
 
virtual shared_ptr getMember (const std::string &member_name)
 
virtual shared_ptr getMember (DataSourceBase::shared_ptr member_id, DataSourceBase::shared_ptr offset)
 
virtual std::vector< std::string > getMemberNames () const
 
virtual shared_ptr getParent ()
 
void ref () const
 
virtual void reset ()
 
std::string toString ()
 
virtual void updated ()
 
std::ostream & write (std::ostream &os)
 

Static Public Member Functions

static AssignableDataSource< T > * narrow (base::DataSourceBase *db)
 
- Static Public Member Functions inherited from RTT::internal::DataSource< T >
static std::string GetType ()
 
static const types::TypeInfoGetTypeInfo ()
 
static std::string GetTypeName ()
 
static DataSource< T > * narrow (base::DataSourceBase *db)
 
- Static Public Member Functions inherited from RTT::base::DataSourceBase
static const_ptr stack_const_ptr (const DataSourceBase *dsb)
 
static shared_ptr stack_shared_ptr (DataSourceBase *dsb)
 

Protected Member Functions

 ~AssignableDataSource ()
 
- Protected Member Functions inherited from RTT::internal::DataSource< T >
virtual ~DataSource ()
 
- Protected Member Functions inherited from RTT::base::DataSourceBase
virtual ~DataSourceBase ()
 

Additional Inherited Members

- Protected Attributes inherited from RTT::base::DataSourceBase
os::AtomicInt refcount
 

Detailed Description

template<typename T>
class RTT::internal::AssignableDataSource< T >

A DataSource which has set() methods.

Parameters
TSee DataSource for the semantics of T.

Definition at line 184 of file DataSource.hpp.

Member Typedef Documentation

template<typename T>
typedef boost::intrusive_ptr<const AssignableDataSource<T> > RTT::internal::AssignableDataSource< T >::const_ptr

Definition at line 199 of file DataSource.hpp.

Definition at line 191 of file DataSource.hpp.

template<typename T>
typedef boost::call_traits<value_t>::param_type RTT::internal::AssignableDataSource< T >::param_t

Definition at line 192 of file DataSource.hpp.

template<typename T>
typedef boost::call_traits<value_t>::reference RTT::internal::AssignableDataSource< T >::reference_t

Definition at line 193 of file DataSource.hpp.

template<typename T>
typedef boost::intrusive_ptr<AssignableDataSource<T> > RTT::internal::AssignableDataSource< T >::shared_ptr

Use this type to store a pointer to an AssignableDataSource.

Definition at line 198 of file DataSource.hpp.

template<typename T>
typedef DataSource<T>::value_t RTT::internal::AssignableDataSource< T >::value_t

Definition at line 190 of file DataSource.hpp.

Constructor & Destructor Documentation

template<typename T>
RTT::internal::AssignableDataSource< T >::~AssignableDataSource ( )
protected

Member Function Documentation

template<typename T>
virtual AssignableDataSource<T>* RTT::internal::AssignableDataSource< T >::clone ( ) const
pure virtual
template<typename T>
virtual AssignableDataSource<T>* RTT::internal::AssignableDataSource< T >::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  alreadyCloned) const
pure virtual
template<typename T>
void* RTT::internal::AssignableDataSource< T >::getRawPointer ( )
inlinevirtual

Generic implementation of getRawPointer() based on set()

Reimplemented from RTT::base::DataSourceBase.

Definition at line 214 of file DataSource.hpp.

template<typename T>
virtual bool RTT::internal::AssignableDataSource< T >::isAssignable ( ) const
inlinevirtual

Returns true if this object can be cast to an AssignableDataSource. When this method returns true, all update functions below will return as well when valid input is given.

Reimplemented from RTT::base::DataSourceBase.

Definition at line 216 of file DataSource.hpp.

template<typename T>
static AssignableDataSource<T>* RTT::internal::AssignableDataSource< T >::narrow ( base::DataSourceBase db)
static

This method narrows a base::DataSourceBase to a typeded AssignableDataSource, possibly returning a new object.

template<typename T>
virtual void RTT::internal::AssignableDataSource< T >::set ( param_t  t)
pure virtual

Set this DataSource with a value.

template<typename T>
virtual reference_t RTT::internal::AssignableDataSource< T >::set ( )
pure virtual
template<typename T>
virtual bool RTT::internal::AssignableDataSource< T >::update ( base::DataSourceBase other)
virtual

Update the value of this internal::DataSource with the value of an other DataSource. Update does a full update of the value, adding extra information if necessary.

Precondition
this->isAssignable() == true
Returns
false if the DataSources are of different type OR if the contents of this internal::DataSource can not be updated.

Reimplemented from RTT::base::DataSourceBase.

template<typename T>
virtual base::ActionInterface* RTT::internal::AssignableDataSource< T >::updateAction ( base::DataSourceBase other)
virtual

Generate a ActionInterface object which will update this internal::DataSource with the value of another internal::DataSource when execute()'ed.

Precondition
this->isAssignable() == true
Returns
zero if the internal::DataSource types do not match OR if the contents of this internal::DataSource can not be updated.

Reimplemented from RTT::base::DataSourceBase.


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


rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:46