|
CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
|
Central Registry and Factory for IPipelineExecutor instances.
More...
#include "pipeline_type.h"#include "pipeline/interfaces/i_pipeline_executor.h"#include <memory>#include <unordered_map>#include <functional>
Include dependency graph for pipeline_builder.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| class | CaptureMoment::Core::Pipeline::PipelineBuilder |
Static registry for creating IPipelineExecutor instances based on type. More... | |
Namespaces | |
| namespace | CaptureMoment |
| namespace | CaptureMoment::Core |
| Manages the lifecycle of a single IWorkingImage instance. | |
| namespace | CaptureMoment::Core::Pipeline |
Central Registry and Factory for IPipelineExecutor instances.
This class implements a Registry pattern. It maintains a static map of creator functions indexed by PipelineType. This decouples the high-level managers from concrete executor implementations, allowing for easy extension (e.g., adding OpenCV or AI managers) without modifying existing manager code.
Usage:
PipelineBuilder::registerCreator(Type, []{ return std::make_unique<ConcreteExecutor>(); });auto executor = PipelineBuilder::build(Type);executor->initialize(ops, factory);Definition in file pipeline_builder.h.