Orocos Real-Time Toolkit  2.8.3
Public Types | Public Member Functions | List of all members
RTT::base::DataObjectInterface< T > Class Template Referenceabstract

A DataObjectInterface implements multi-threaded read/write solutions. More...

#include <rtt/base/DataObjectInterface.hpp>

Inheritance diagram for RTT::base::DataObjectInterface< T >:
RTT::base::DataObjectLocked< T > RTT::base::DataObjectLockFree< T > RTT::base::DataObjectUnSync< T > RTT::base::DataObject< T >

Public Types

typedef boost::shared_ptr< DataObjectInterface< T > > shared_ptr
 Used for shared_ptr management. More...
 
typedef T DataType
 The type of the data. More...
 

Public Member Functions

 DataObjectInterface ()
 Create a DataObject which is initially not reference counted. More...
 
virtual ~DataObjectInterface ()
 Destructor. More...
 
virtual void Get (DataType &pull) const =0
 Get a copy of the Data of this data object. More...
 
virtual DataType Get () const =0
 Get a copy of the data of this data object. More...
 
virtual void Set (const DataType &push)=0
 Set the data to a certain value. More...
 
virtual void data_sample (const DataType &sample)=0
 Provides a data sample to initialize this data object. More...
 

Detailed Description

template<class T>
class RTT::base::DataObjectInterface< T >

A DataObjectInterface implements multi-threaded read/write solutions.

See also
DataObject
Parameters
TThe DataType which can be Get() or Set() with this DataObject.

Definition at line 56 of file DataObjectInterface.hpp.

Member Typedef Documentation

template<class T>
typedef T RTT::base::DataObjectInterface< T >::DataType

The type of the data.

Definition at line 78 of file DataObjectInterface.hpp.

template<class T>
typedef boost::shared_ptr<DataObjectInterface<T> > RTT::base::DataObjectInterface< T >::shared_ptr

Used for shared_ptr management.

Definition at line 62 of file DataObjectInterface.hpp.

Constructor & Destructor Documentation

template<class T>
RTT::base::DataObjectInterface< T >::DataObjectInterface ( )
inline

Create a DataObject which is initially not reference counted.

Definition at line 67 of file DataObjectInterface.hpp.

template<class T>
virtual RTT::base::DataObjectInterface< T >::~DataObjectInterface ( )
inlinevirtual

Destructor.

Definition at line 73 of file DataObjectInterface.hpp.

Member Function Documentation

template<class T>
virtual void RTT::base::DataObjectInterface< T >::data_sample ( const DataType sample)
pure virtual

Provides a data sample to initialize this data object.

As such enough storage space can be allocated before the actual writing begins.

Parameters
sample

Implemented in RTT::base::DataObjectLockFree< T >, RTT::base::DataObjectLocked< T >, and RTT::base::DataObjectUnSync< T >.

Referenced by RTT::internal::ChannelDataElement< T >::data_sample().

template<class T>
virtual void RTT::base::DataObjectInterface< T >::Get ( DataType pull) const
pure virtual
template<class T>
virtual DataType RTT::base::DataObjectInterface< T >::Get ( ) const
pure virtual

Get a copy of the data of this data object.

Returns
A copy of the data.

Implemented in RTT::base::DataObjectLockFree< T >, RTT::base::DataObjectLocked< T >, and RTT::base::DataObjectUnSync< T >.

template<class T>
virtual void RTT::base::DataObjectInterface< T >::Set ( const DataType push)
pure virtual

Set the data to a certain value.

Parameters
pushThe data which must be set.

Implemented in RTT::base::DataObjectLockFree< T >, RTT::base::DataObjectLocked< T >, and RTT::base::DataObjectUnSync< T >.

Referenced by RTT::internal::ChannelDataElement< T >::write().


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