|
| Algorithm (const std::string &name) |
|
virtual bool | SetEventLoopProxy (observer_ptr< EventLoopProxy > loopProxy) |
| Injector for dependency on EventLoopProxy. More...
|
|
virtual bool | Initialize () |
| Initialization method. More...
|
|
virtual bool | Process () |
| Processing method. More...
|
|
virtual bool | Finalize () |
| Finalization method. More...
|
|
virtual IterateRequest | Iterate () |
| Request for another iteration of the event loop. More...
|
|
observer_ptr< EventLoopProxy > | GetEventLoopProxy () |
| Accessor for the event loop proxy. More...
|
|
| Filter () |
| Constructor. More...
|
|
FilterResult | GetFilterResult () |
| Get the result for the filter. More...
|
|
FilterLogic | GetFilterLogic () |
| Get the current filter logic. More...
|
|
void | SetFilterStatus (FilterStatus status) |
| Toggles on and off filtering. More...
|
|
FilterStatus | GetFilterStatus () |
| The filter status. More...
|
|
void | SetFilterLogic (FilterLogic filterLogic) |
| Sets the filter return value logic. More...
|
|
| Info (const std::string &name) |
| Constructor. More...
|
|
virtual | ~Info () |
| Destructor. More...
|
|
virtual const std::string | GetType () const |
|
virtual const std::string | GetName () const |
| The type (i.e. class) of the object. More...
|
|
virtual const std::string | GetVersion () const |
| The name of the object. More...
|
|
| Configurable () |
| Constructor. More...
|
|
template<typename T > |
bool | SetParameter (const std::string &name, const T &value) |
| Set the value of a parameter. More...
|
|
bool | SetParameter (const std::string &name, const char *value) |
| Set the value of a string parameter using a string literal. More...
|
|
std::vector< std::string > | GetParameters () |
| Get the names of the parameters. More...
|
|
| DataStoreUser () |
|
virtual | ~DataStoreUser () |
| Destructor. More...
|
|
virtual bool | SetDataStoreManager (observer_ptr< DataStoreManager > dsManager) |
| Injector for dependency on DataStoreManager. More...
|
|
observer_ptr< DataStoreManager > | GetDataStoreManager () |
| Getter for the Data store manager. More...
|
|
| ObjectProducer () |
| Constructor. More...
|
|
virtual | ~ObjectProducer () |
| Destructor. More...
|
|
template<typename C > |
void | DeclareProducedObject (std::string name, ObjectCategory category, C aliases, std::string store) |
| Declare a produced objects. More...
|
|
const ProducedObjects & | GetProducedObjects () const |
| Getter method for produced objects. More...
|
|
bool | SetDisabled (bool disabled=true) |
| Disables/enables the producer. More...
|
|
virtual std::vector< std::string > | FreeObjects (const std::vector< std::string > &objs, Memory::Status memStatus) |
| Free the memory for given objects. More...
|
|
template<> |
void | DeclareProducedObject (std::string name, ObjectCategory category, const char *alias, std::string store) |
|
| ObjectConsumer () |
| Constructor. More...
|
|
void | DeclareConsumedObject (std::string name, ObjectCategory category, std::string store, bool optional=false) |
| Declare a consumed objects. More...
|
|
void | DeclareAlternative (const std::string &name, ObjectCategory category, std::string store, const std::string &alternativeName, ObjectCategory alternativeCategory, std::string alternativeStore) |
| Declares two already declared objects as alternatives. More...
|
|
const ConsumedObjects & | GetConsumedObjects () const |
| Getter method for consumed objects. More...
|
|
Algorithm interface.
An Algorithm is a class that process event data. It has method for initialization, processing and finalization.
Request for another iteration of the event loop.
Algorithms requiring another iteration of the event loop (e.g. algorithms based on a convergent procedure, needing to loop over all the events for an a priori undefined number of times) should return #IterateRequest::YES. To inhibit another iteration of the loop, #IterateRequest::NO. In case the algorithm has no preference over the two cases, #IterateRequest::WHATEVER.
Note that #IterateRequest::WHATEVER leaves the decision about an eventual subsequent iteration to other algorithms inside the same loop, while #IterateRequest::YES and #IterateRequest::NO force one of the two behaviors. An eventual request conflict between two algorithms in the same loop is handled by the #EventLoop itself (see the class' documentation for details about how the conflict is handled).
The default implementation of this method returns #IterateRequest::WHATEVER, so it should be reimplemented only if a specific behavior is needed.
- Returns
- an IterateRequest code for triggering or inhibiting another loop iteration.
Reimplemented in EA::AlgoSequence.