SourceXtractorPlusPlus
1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SEFramework
SEFramework
Pipeline
Partition.h
Go to the documentation of this file.
1
22
23
#ifndef _SEFRAMEWORK_PIPELINE_PARTITION_H
24
#define _SEFRAMEWORK_PIPELINE_PARTITION_H
25
26
#include "
SEFramework/Pipeline/PipelineStage.h
"
27
#include "
SEFramework/Source/SourceInterface.h
"
28
#include <vector>
29
30
namespace
SourceXtractor
{
31
38
class
PartitionStep
{
39
public
:
43
virtual
~PartitionStep
() =
default
;
44
45
virtual
std::vector<std::unique_ptr<SourceInterface>
>
partition
(
std::unique_ptr<SourceInterface>
source)
const
= 0;
46
};
47
57
class
Partition
:
public
PipelineReceiver
<SourceInterface>,
public
PipelineEmitter
<SourceInterface> {
58
59
public
:
63
virtual
~Partition
() =
default
;
64
66
explicit
Partition
(
std::vector
<
std::shared_ptr<PartitionStep>
> steps);
67
68
void
receiveSource
(
std::unique_ptr<SourceInterface>
source)
override
;
69
void
receiveProcessSignal
(
const
ProcessSourcesEvent
& event)
override
;
70
71
private
:
72
std::vector<std::shared_ptr<PartitionStep>
>
m_steps
;
73
74
};
/* End of Partition class */
75
76
}
/* namespace SourceXtractor */
77
78
#endif
PipelineStage.h
SourceInterface.h
SourceXtractor::PartitionStep
A PartitionStep gets applied on a single Source and can result any number of Sources being outputed....
Definition
Partition.h:38
SourceXtractor::PartitionStep::partition
virtual std::vector< std::unique_ptr< SourceInterface > > partition(std::unique_ptr< SourceInterface > source) const =0
SourceXtractor::PartitionStep::~PartitionStep
virtual ~PartitionStep()=default
Destructor.
SourceXtractor::Partition::receiveProcessSignal
void receiveProcessSignal(const ProcessSourcesEvent &event) override
Definition
Partition.cpp:57
SourceXtractor::Partition::m_steps
std::vector< std::shared_ptr< PartitionStep > > m_steps
Definition
Partition.h:72
SourceXtractor::Partition::Partition
Partition(std::vector< std::shared_ptr< PartitionStep > > steps)
Constructor - takes a vector of PartitionSteps to be applied in order.
Definition
Partition.cpp:27
SourceXtractor::Partition::receiveSource
void receiveSource(std::unique_ptr< SourceInterface > source) override
Definition
Partition.cpp:31
SourceXtractor::Partition::~Partition
virtual ~Partition()=default
Destructor.
SourceXtractor::PipelineEmitter
Definition
PipelineStage.h:68
SourceXtractor::PipelineReceiver
Definition
PipelineStage.h:46
SourceXtractor
Definition
Aperture.h:30
std::shared_ptr
SourceXtractor::ProcessSourcesEvent
Event received by SourceGrouping to request the processing of some of the Sources stored.
Definition
PipelineStage.h:33
std::unique_ptr
std::vector
Generated by
1.15.0