CLAM::TokenDelay< T > Class Template Reference

A Processing Object that delays a certain number of ProcessingDataObjects wherever the specific object it is. More...

#include <TokenDelay.hxx>

List of all members.

Public Member Functions

 TokenDelay (const TokenDelayConfig &cfg=TokenDelayConfig())
virtual ~TokenDelay ()
bool ConcreteConfigure (const ProcessingConfig &c)
 Concrete configuration change method.
virtual const ProcessingConfigGetConfig () const
 Configuration access.
virtual bool Do (void)
 Supervised-mode execution method.
virtual bool Do (const T &in, T &out)
 Non-supervised-mode execution method.
void Debug () const
 Debug method for viewing all the relevant parameter.
void FulfillsInvariant () const
 It cheks many invariants restrictions of the object and throws an error if they are not fulfilled.
const char * GetClassName () const
 Override it in every subclass and retur the name of that class.
TSize RealDelay () const
 Informative value about the current delay applied (different from the requested).
unsigned MaxDelay () const
unsigned GivenDelay ()

Detailed Description

template<class T>
class CLAM::TokenDelay< T >

A Processing Object that delays a certain number of ProcessingDataObjects wherever the specific object it is.

This class is only usefull in the non supervised context so it hasn't the generic Do() implemented It works buffering these ProcessingDataObjects, feeded by using the arguments of the Do(...) method. Important: the processig data objects (tokens) that flows through the token delay can only be deleted once have got out from the delay. It can also happen that decrementing the delay value, some tokens will never get out. And these tokens will be deleted by the delay object.

Definition at line 76 of file TokenDelay.hxx.


Constructor & Destructor Documentation

template<class T>
CLAM::TokenDelay< T >::TokenDelay ( const TokenDelayConfig cfg = TokenDelayConfig()  )  [inline]

Definition at line 88 of file TokenDelay.hxx.

template<class T>
virtual CLAM::TokenDelay< T >::~TokenDelay (  )  [inline, virtual]

Member Function Documentation

template<class T >
bool CLAM::TokenDelay< T >::ConcreteConfigure ( const ProcessingConfig c  )  [inline, virtual]

Concrete configuration change method.

The generic calls this one. It will accept such changes when not in running mode.

Precondition:
argument should be a TokenDelayConfig

Reimplemented from CLAM::Processing.

Definition at line 203 of file TokenDelay.hxx.

References CLAM::Processing::CopyAsConcreteConfig(), CLAM::InControl< ControlDataType >::DoControl(), and CLAM::InControl< ControlDataType >::GetLastValue().

template<class T >
void CLAM::TokenDelay< T >::Debug (  )  const [inline]

Debug method for viewing all the relevant parameter.

Definition at line 278 of file TokenDelay.hxx.

template<class T>
bool CLAM::TokenDelay< T >::Do ( const T &  in,
T &  out 
) [inline, virtual]

Non-supervised-mode execution method.

Parameters:
in Reference to the input ProcessingData object.
out Pointer to a ProcessingData that has previously been entered. this object pointed by out parameter can be safely deleted only when the last call to this Do method has output a different object. In others words: when the delay value gets increased, the out object can be the same for a number of Do executions.

Definition at line 234 of file TokenDelay.hxx.

References CLAM::InControl< ControlDataType >::GetLastValue().

template<class T >
bool CLAM::TokenDelay< T >::Do ( void   )  [inline, virtual]

Supervised-mode execution method.

Because this class only works in non-supervised mode, it hrows an error

Implements CLAM::Processing.

Definition at line 218 of file TokenDelay.hxx.

References CLAM::InPort< Token >::Consume(), CLAM::OutPort< Token >::GetData(), CLAM::InPort< Token >::GetData(), and CLAM::OutPort< Token >::Produce().

Referenced by CLAM::SpectralDelay::Do().

template<class T >
void CLAM::TokenDelay< T >::FulfillsInvariant (  )  const [inline]

It cheks many invariants restrictions of the object and throws an error if they are not fulfilled.

Very usefull when developing or maintaining this class.

Definition at line 294 of file TokenDelay.hxx.

template<class T>
const char* CLAM::TokenDelay< T >::GetClassName (  )  const [inline, virtual]

Override it in every subclass and retur the name of that class.

Implements CLAM::Processing.

Definition at line 136 of file TokenDelay.hxx.

template<class T>
virtual const ProcessingConfig& CLAM::TokenDelay< T >::GetConfig (  )  const [inline, virtual]

Configuration access.

Reimplemented from CLAM::Processing.

Definition at line 108 of file TokenDelay.hxx.

template<class T>
unsigned CLAM::TokenDelay< T >::GivenDelay (  )  [inline]

Definition at line 149 of file TokenDelay.hxx.

template<class T>
unsigned CLAM::TokenDelay< T >::MaxDelay (  )  const [inline]

Definition at line 145 of file TokenDelay.hxx.

template<class T>
TSize CLAM::TokenDelay< T >::RealDelay (  )  const [inline]

Informative value about the current delay applied (different from the requested).

Definition at line 141 of file TokenDelay.hxx.


The documentation for this class was generated from the following file:
Generated by  doxygen 1.6.3