CLAM::TokenDelay< T > Class Template Reference

#include <TokenDelay.hxx>

Inheritance diagram for CLAM::TokenDelay< T >:

CLAM::Processing

List of all members.


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 81 of file TokenDelay.hxx.


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 ()

Constructor & Destructor Documentation

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

Definition at line 93 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 208 of file TokenDelay.hxx.

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

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

Configuration access.

Reimplemented from CLAM::Processing.

Definition at line 113 of file TokenDelay.hxx.

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 222 of file TokenDelay.hxx.

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

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 238 of file TokenDelay.hxx.

References CLAM::InControl::GetLastValue().

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

Debug method for viewing all the relevant parameter.

Definition at line 285 of file TokenDelay.hxx.

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 301 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 141 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 146 of file TokenDelay.hxx.

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

Definition at line 150 of file TokenDelay.hxx.

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

Definition at line 154 of file TokenDelay.hxx.


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

Generated on Tue Aug 12 22:33:50 2008 for CLAM by  doxygen 1.5.5