SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SourceXtractor::SplitSourcesGrouping Class Reference

#include <SplitSourcesGrouping.h>

Inheritance diagram for SourceXtractor::SplitSourcesGrouping:
Collaboration diagram for SourceXtractor::SplitSourcesGrouping:

Public Member Functions

 SplitSourcesGrouping (std::shared_ptr< SourceGroupFactory > group_factory, unsigned int hard_limit)
virtual ~SplitSourcesGrouping ()=default
std::set< PropertyIdrequiredProperties () const override
 Returns the set of required properties to compute the grouping.
void receiveSource (std::unique_ptr< SourceInterface > source) override
 Handles a new Source.
void receiveProcessSignal (const ProcessSourcesEvent &event) override
 Handles a ProcessSourcesEvent to trigger the processing of some of the Sources stored in SourceGrouping.
Public Member Functions inherited from SourceXtractor::PipelineEmitter< SourceGroupInterface >
 ~PipelineEmitter () override=default
void setNextStage (std::shared_ptr< PipelineReceiver< SourceGroupInterface > > next)
Public Member Functions inherited from SourceXtractor::Observable< SourceGroupInterface >
virtual ~Observable ()=default
 Destructor.
virtual void addObserver (std::shared_ptr< Observer< SourceGroupInterface > > observer)
 Adds an Observer that will be notified when notify Observers is called.
virtual void removeObserver (std::shared_ptr< Observer< SourceGroupInterface > > observer)
 Removes a previously added Observer from the list of Observers to notify.
Public Member Functions inherited from SourceXtractor::PipelineReceiver< SourceInterface >
virtual ~PipelineReceiver ()=default

Private Attributes

std::shared_ptr< SourceGroupFactorym_group_factory
std::map< unsigned int, std::unique_ptr< SourceGroupInterface > > m_source_groups
unsigned int m_hard_limit

Additional Inherited Members

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

Detailed Description

Definition at line 27 of file SplitSourcesGrouping.h.

Constructor & Destructor Documentation

◆ SplitSourcesGrouping()

SourceXtractor::SplitSourcesGrouping::SplitSourcesGrouping ( std::shared_ptr< SourceGroupFactory > group_factory,
unsigned int hard_limit )

Definition at line 23 of file SplitSourcesGrouping.cpp.

References m_group_factory, and m_hard_limit.

◆ ~SplitSourcesGrouping()

virtual SourceXtractor::SplitSourcesGrouping::~SplitSourcesGrouping ( )
virtualdefault

Member Function Documentation

◆ receiveProcessSignal()

void SourceXtractor::SplitSourcesGrouping::receiveProcessSignal ( const ProcessSourcesEvent & event)
overridevirtual

◆ receiveSource()

void SourceXtractor::SplitSourcesGrouping::receiveSource ( std::unique_ptr< SourceInterface > source)
overridevirtual

Handles a new Source.

Implements SourceXtractor::PipelineReceiver< SourceInterface >.

Definition at line 33 of file SplitSourcesGrouping.cpp.

References m_group_factory, m_hard_limit, m_source_groups, std::move(), and SourceXtractor::PipelineEmitter< SourceGroupInterface >::sendSource().

Here is the call graph for this function:

◆ requiredProperties()

std::set< PropertyId > SourceXtractor::SplitSourcesGrouping::requiredProperties ( ) const
overridevirtual

Returns the set of required properties to compute the grouping.

Implements SourceXtractor::SourceGroupingInterface.

Definition at line 28 of file SplitSourcesGrouping.cpp.

Member Data Documentation

◆ m_group_factory

std::shared_ptr<SourceGroupFactory> SourceXtractor::SplitSourcesGrouping::m_group_factory
private

Definition at line 42 of file SplitSourcesGrouping.h.

Referenced by receiveSource(), and SplitSourcesGrouping().

◆ m_hard_limit

unsigned int SourceXtractor::SplitSourcesGrouping::m_hard_limit
private

Definition at line 44 of file SplitSourcesGrouping.h.

Referenced by receiveSource(), and SplitSourcesGrouping().

◆ m_source_groups

std::map<unsigned int, std::unique_ptr<SourceGroupInterface> > SourceXtractor::SplitSourcesGrouping::m_source_groups
private

Definition at line 43 of file SplitSourcesGrouping.h.

Referenced by receiveProcessSignal(), and receiveSource().


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