Public Types | Public Member Functions | Private Attributes | List of all members
RTT::internal::ArrayPartDataSource< T > Class Template Reference

#include <ArrayPartDataSource.hpp>

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

Public Types

typedef boost::intrusive_ptr< ArrayPartDataSource< T > > shared_ptr
 
- Public Types inherited from RTT::internal::AssignableDataSource< T >
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

 ArrayPartDataSource (typename AssignableDataSource< T >::reference_t ref, DataSource< unsigned int >::shared_ptr index, base::DataSourceBase::shared_ptr parent, unsigned int max)
 
virtual ArrayPartDataSource< T > * clone () const
 
virtual ArrayPartDataSource< T > * copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &replace) const
 
DataSource< T >::result_t get () const
 
AssignableDataSource< T >::const_reference_t rvalue () const
 
void set (typename AssignableDataSource< T >::param_t t)
 
AssignableDataSource< T >::reference_t set ()
 
void updated ()
 
DataSource< T >::result_t value () const
 
 ~ArrayPartDataSource ()
 
- Public Member Functions inherited from RTT::internal::AssignableDataSource< T >
void * getRawPointer ()
 
virtual bool isAssignable () const
 
virtual void set (param_t t)=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
 
void const * getRawConstPointer ()
 
virtual std::string getType () const
 
virtual const types::TypeInfogetTypeInfo () const
 
virtual std::string getTypeName () const
 
- 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 ()
 
std::ostream & write (std::ostream &os)
 

Private Attributes

DataSource< unsigned int >::shared_ptr mindex
 
unsigned int mmax
 
base::DataSourceBase::shared_ptr mparent
 
AssignableDataSource< T >::value_tmref
 

Additional Inherited Members

- Static Public Member Functions inherited from RTT::internal::AssignableDataSource< T >
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 inherited from RTT::internal::AssignableDataSource< T >
 ~AssignableDataSource ()
 
- Protected Member Functions inherited from RTT::internal::DataSource< T >
virtual ~DataSource ()
 
- Protected Member Functions inherited from RTT::base::DataSourceBase
virtual ~DataSourceBase ()
 
- Protected Attributes inherited from RTT::base::DataSourceBase
os::AtomicInt refcount
 

Detailed Description

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

A DataSource which is used to manipulate a reference to a part of a data source holding a C-style array of elements.

It recalculates the reference of the part in case of copy/clone semantics.

Parameters
TThe data type of an element.

Definition at line 58 of file ArrayPartDataSource.hpp.

Member Typedef Documentation

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

Definition at line 72 of file ArrayPartDataSource.hpp.

Constructor & Destructor Documentation

template<typename T>
RTT::internal::ArrayPartDataSource< T >::~ArrayPartDataSource ( )
inline

Definition at line 70 of file ArrayPartDataSource.hpp.

template<typename T>
RTT::internal::ArrayPartDataSource< T >::ArrayPartDataSource ( typename AssignableDataSource< T >::reference_t  ref,
DataSource< unsigned int >::shared_ptr  index,
base::DataSourceBase::shared_ptr  parent,
unsigned int  max 
)
inline

The part is constructed from a reference to an existing array of elements and an index for accessing the n'th element.

Parameters
refReference to the first element of the array
indexDatasource pointing to the index for use in operator[]
parentParent data source for sending updated() messages. May be null.

Definition at line 81 of file ArrayPartDataSource.hpp.

Member Function Documentation

template<typename T>
virtual ArrayPartDataSource<T>* RTT::internal::ArrayPartDataSource< T >::clone ( ) const
inlinevirtual

Return a shallow clone of this DataSource. This method returns a duplicate of this instance which re-uses the DataSources this internal::DataSource holds reference to. The clone() function is thus a non-deep copy.

Implements RTT::internal::AssignableDataSource< T >.

Definition at line 133 of file ArrayPartDataSource.hpp.

template<typename T>
virtual ArrayPartDataSource<T>* RTT::internal::ArrayPartDataSource< T >::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  replace) const
inlinevirtual

Implements RTT::internal::AssignableDataSource< T >.

Definition at line 137 of file ArrayPartDataSource.hpp.

template<typename T>
DataSource<T>::result_t RTT::internal::ArrayPartDataSource< T >::get ( ) const
inlinevirtual

Return the data as type T.

Implements RTT::internal::DataSource< T >.

Definition at line 88 of file ArrayPartDataSource.hpp.

template<typename T>
AssignableDataSource<T>::const_reference_t RTT::internal::ArrayPartDataSource< T >::rvalue ( ) const
inlinevirtual

Get a const reference to the value of this DataSource. You must call evaluate() prior to calling this function in order to get the most recent value of this attribute.

Note
Getting a reference to an internal data structure is not thread-safe.

Implements RTT::internal::DataSource< T >.

Definition at line 121 of file ArrayPartDataSource.hpp.

template<typename T>
void RTT::internal::ArrayPartDataSource< T >::set ( typename AssignableDataSource< T >::param_t  t)
inline

Definition at line 104 of file ArrayPartDataSource.hpp.

template<typename T>
AssignableDataSource<T>::reference_t RTT::internal::ArrayPartDataSource< T >::set ( )
inlinevirtual

Get a reference to the value of this DataSource. Getting a reference to an internal data structure is not thread-safe.

Implements RTT::internal::AssignableDataSource< T >.

Definition at line 113 of file ArrayPartDataSource.hpp.

template<typename T>
void RTT::internal::ArrayPartDataSource< T >::updated ( )
inlinevirtual

In case the internal::DataSource returns a 'reference' type, call this method to notify it that the data was updated in the course of an invocation of get().

Reimplemented from RTT::base::DataSourceBase.

Definition at line 129 of file ArrayPartDataSource.hpp.

template<typename T>
DataSource<T>::result_t RTT::internal::ArrayPartDataSource< T >::value ( ) const
inlinevirtual

Return the result of the last evaluate() function. You must call evaluate() prior to calling this function in order to get the most recent value of this attribute.

Implements RTT::internal::DataSource< T >.

Definition at line 96 of file ArrayPartDataSource.hpp.

Member Data Documentation

template<typename T>
DataSource<unsigned int>::shared_ptr RTT::internal::ArrayPartDataSource< T >::mindex
private

Definition at line 64 of file ArrayPartDataSource.hpp.

template<typename T>
unsigned int RTT::internal::ArrayPartDataSource< T >::mmax
private

Definition at line 68 of file ArrayPartDataSource.hpp.

template<typename T>
base::DataSourceBase::shared_ptr RTT::internal::ArrayPartDataSource< T >::mparent
private

Definition at line 66 of file ArrayPartDataSource.hpp.

template<typename T>
AssignableDataSource<T>::value_t* RTT::internal::ArrayPartDataSource< T >::mref
private

Definition at line 62 of file ArrayPartDataSource.hpp.


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