aggregator
Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
aggregator::StreamAligner::Stream< T > Class Template Reference

#include <StreamAligner.hpp>

Inherits aggregator::StreamAligner::StreamBase.

Public Types

typedef boost::function< void(const base::Time &ts, const T &value)> callback_t
 

Public Member Functions

 Stream (callback_t callback, size_t bufferSize, base::Time period, int priority, const std::string &name)
 
virtual ~Stream ()
 
bool getNextSample (item &sample) const
 
virtual int getPriority () const
 
virtual const StreamStatusgetBufferStatus () const
 
virtual void copyState (const StreamBase &other)
 
void push (const base::Time &ts, const T &data)
 
base::Time pop ()
 
bool hasData () const
 
base::Time latestTimeStamp () const
 
virtual base::Time latestDataTime () const
 
virtual base::Time earliestDataTime () const
 
virtual void clear ()
 

Protected Types

typedef std::pair< base::Time, T > item
 

Protected Attributes

boost::circular_buffer< itembuffer
 
size_t bufferSize
 
callback_t callback
 
base::Time period
 
base::Time lastTime
 
int priority
 

Member Typedef Documentation

template<class T>
typedef boost::function<void (const base::Time &ts, const T &value)> aggregator::StreamAligner::Stream< T >::callback_t
template<class T>
typedef std::pair<base::Time,T> aggregator::StreamAligner::Stream< T >::item
protected

Constructor & Destructor Documentation

template<class T>
aggregator::StreamAligner::Stream< T >::Stream ( callback_t  callback,
size_t  bufferSize,
base::Time  period,
int  priority,
const std::string &  name 
)
inline
template<class T>
virtual aggregator::StreamAligner::Stream< T >::~Stream ( )
inlinevirtual

Member Function Documentation

template<class T>
virtual void aggregator::StreamAligner::Stream< T >::clear ( )
inlinevirtual
template<class T>
virtual void aggregator::StreamAligner::Stream< T >::copyState ( const StreamBase &  other)
inlinevirtual
template<class T>
virtual base::Time aggregator::StreamAligner::Stream< T >::earliestDataTime ( ) const
inlinevirtual
template<class T>
virtual const StreamStatus& aggregator::StreamAligner::Stream< T >::getBufferStatus ( ) const
inlinevirtual
template<class T>
bool aggregator::StreamAligner::Stream< T >::getNextSample ( item sample) const
inline
template<class T>
virtual int aggregator::StreamAligner::Stream< T >::getPriority ( ) const
inlinevirtual
template<class T>
bool aggregator::StreamAligner::Stream< T >::hasData ( ) const
inline
template<class T>
virtual base::Time aggregator::StreamAligner::Stream< T >::latestDataTime ( ) const
inlinevirtual
template<class T>
base::Time aggregator::StreamAligner::Stream< T >::latestTimeStamp ( ) const
inline
template<class T>
base::Time aggregator::StreamAligner::Stream< T >::pop ( )
inline

take the last item of the stream queue and call the callback

template<class T>
void aggregator::StreamAligner::Stream< T >::push ( const base::Time &  ts,
const T &  data 
)
inline

Member Data Documentation

template<class T>
boost::circular_buffer<item> aggregator::StreamAligner::Stream< T >::buffer
protected
template<class T>
size_t aggregator::StreamAligner::Stream< T >::bufferSize
protected
template<class T>
callback_t aggregator::StreamAligner::Stream< T >::callback
protected
template<class T>
base::Time aggregator::StreamAligner::Stream< T >::lastTime
protected
template<class T>
base::Time aggregator::StreamAligner::Stream< T >::period
protected
template<class T>
int aggregator::StreamAligner::Stream< T >::priority
protected

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