CLAM-Development  1.1
Public Member Functions
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 81 of file TokenDelay.hxx.


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]

Definition at line 101 of file TokenDelay.hxx.


Member Function Documentation

template<class T >
bool CLAM::TokenDelay< T >::ConcreteConfigure ( const ProcessingConfig c) [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.

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

Debug method for viewing all the relevant parameter.

Definition at line 285 of file TokenDelay.hxx.

template<class T >
bool CLAM::TokenDelay< T >::Do ( void  ) [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.

Referenced by CLAM::SpectralDelay::Do(), and CLAM::SMSHarmonizer::Do().

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

Non-supervised-mode execution method.

Parameters:
inReference to the input ProcessingData object.
outPointer 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.

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

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>
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>
unsigned CLAM::TokenDelay< T >::GivenDelay ( ) [inline]

Definition at line 154 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>
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.


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