Orocos Real-Time Toolkit  2.6.0
Public Types | Public Member Functions
RTT::base::DataObjectLocked< T > Class Template Reference

A class which provides locked/protected access to one typed element of data. More...

#include <rtt/base/DataObjectLocked.hpp>

Inheritance diagram for RTT::base::DataObjectLocked< T >:
RTT::base::DataObjectInterface< T >

List of all members.

Public Types

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

Public Member Functions

 DataObjectLocked (const T &initial_value=T())
 Construct a DataObjectLocked by name.
virtual void Get (DataType &pull) const
 Get a copy of the Data of this data object.
virtual DataType Get () const
 Get a copy of the data of this data object.
virtual void Set (const DataType &push)
 Set the data to a certain value.
virtual void data_sample (const DataType &sample)
 Provides a data sample to initialize this data object.

Detailed Description

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

A class which provides locked/protected access to one typed element of data.

It allows multiple read/write requests using a single lock. This is the in any case threadsafe implementation, and can be blocking in situations where you do not want that.

Definition at line 57 of file DataObjectLocked.hpp.


Constructor & Destructor Documentation

template<class T >
RTT::base::DataObjectLocked< T >::DataObjectLocked ( const T &  initial_value = T()) [inline]

Construct a DataObjectLocked by name.

Parameters:
_nameThe name of this DataObject.

Definition at line 72 of file DataObjectLocked.hpp.


Member Function Documentation

template<class T >
virtual void RTT::base::DataObjectLocked< T >::data_sample ( const DataType sample) [inline, 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

Implements RTT::base::DataObjectInterface< T >.

Definition at line 86 of file DataObjectLocked.hpp.

References RTT::base::DataObjectLocked< T >::Set().

template<class T >
virtual void RTT::base::DataObjectLocked< T >::Get ( DataType pull) const [inline, virtual]

Get a copy of the Data of this data object.

Parameters:
pullA copy of the data.

Implements RTT::base::DataObjectInterface< T >.

Definition at line 80 of file DataObjectLocked.hpp.

template<class T >
virtual DataType RTT::base::DataObjectLocked< T >::Get ( ) const [inline, virtual]

Get a copy of the data of this data object.

Returns:
A copy of the data.

Implements RTT::base::DataObjectInterface< T >.

Definition at line 82 of file DataObjectLocked.hpp.

References RTT::base::DataObjectLocked< T >::Get().

Referenced by RTT::base::DataObjectLocked< T >::Get().

template<class T >
virtual void RTT::base::DataObjectLocked< T >::Set ( const DataType push) [inline, virtual]

Set the data to a certain value.

Parameters:
pushThe data which must be set.

Implements RTT::base::DataObjectInterface< T >.

Definition at line 84 of file DataObjectLocked.hpp.

Referenced by RTT::base::DataObjectLocked< T >::data_sample().


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