SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SourceXtractor::PipelineEmitter< T > Class Template Reference

#include <PipelineStage.h>

Inheritance diagram for SourceXtractor::PipelineEmitter< T >:
Collaboration diagram for SourceXtractor::PipelineEmitter< T >:

Public Member Functions

 ~PipelineEmitter () override=default
void setNextStage (std::shared_ptr< PipelineReceiver< T > > next)
Public Member Functions inherited from SourceXtractor::Observable< T >
virtual ~Observable ()=default
 Destructor.
virtual void addObserver (std::shared_ptr< Observer< T > > observer)
 Adds an Observer that will be notified when notify Observers is called.
virtual void removeObserver (std::shared_ptr< Observer< T > > observer)
 Removes a previously added Observer from the list of Observers to notify.

Protected Member Functions

void sendSource (std::unique_ptr< T > source) const
void sendProcessSignal (const ProcessSourcesEvent &event) const
Protected Member Functions inherited from SourceXtractor::Observable< T >
void notifyObservers (const T &message) const

Private Attributes

std::shared_ptr< PipelineReceiver< T > > m_next_stage

Detailed Description

template<typename T>
class SourceXtractor::PipelineEmitter< T >

Emitter component of a pipeline

Template Parameters
T

Definition at line 68 of file PipelineStage.h.

Constructor & Destructor Documentation

◆ ~PipelineEmitter()

template<typename T>
SourceXtractor::PipelineEmitter< T >::~PipelineEmitter ( )
overridedefault

Member Function Documentation

◆ sendProcessSignal()

template<typename T>
void SourceXtractor::PipelineEmitter< T >::sendProcessSignal ( const ProcessSourcesEvent & event) const
inlineprotected

Definition at line 92 of file PipelineStage.h.

References m_next_stage.

◆ sendSource()

template<typename T>
void SourceXtractor::PipelineEmitter< T >::sendSource ( std::unique_ptr< T > source) const
inlineprotected

Definition at line 85 of file PipelineStage.h.

References m_next_stage, std::move(), and SourceXtractor::Observable< T >::notifyObservers().

Here is the call graph for this function:

◆ setNextStage()

template<typename T>
void SourceXtractor::PipelineEmitter< T >::setNextStage ( std::shared_ptr< PipelineReceiver< T > > next)
inline

Set the next stage of the pipeline. There can be only one, so there is a single pipeline stage owning the object.

Parameters
next

Definition at line 77 of file PipelineStage.h.

References m_next_stage, std::move(), and std::next().

Here is the call graph for this function:

Member Data Documentation

◆ m_next_stage

template<typename T>
std::shared_ptr<PipelineReceiver<T> > SourceXtractor::PipelineEmitter< T >::m_next_stage
private

Definition at line 99 of file PipelineStage.h.

Referenced by sendProcessSignal(), sendSource(), and setNextStage().


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