CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
pipeline_context.h
Go to the documentation of this file.
1
20#pragma once
21
26
27#include <memory>
28#include <vector>
29
30namespace CaptureMoment::Core {
31namespace Pipeline {
32
44public:
53 explicit PipelineContext();
54
58 ~PipelineContext() = default;
59
60 // Disable copy and move for the Context itself to ensure single ownership of the Builder
65
76 return *m_halide_manager;
77 }
78
82 [[nodiscard]] const Strategies::PipelineHalideOperationManager& getHalideManager() const noexcept {
83 return *m_halide_manager;
84 }
85
86private:
90 std::unique_ptr<Strategies::PipelineHalideOperationManager> m_halide_manager;
91};
92
93} // namespace Pipeline
94
95} // namespace CaptureMoment::Core
Central container for pipeline infrastructure.
PipelineContext & operator=(PipelineContext &&)=delete
PipelineContext(const PipelineContext &)=delete
Strategies::PipelineHalideOperationManager & getHalideManager() noexcept
Gets a reference to the Halide Operation Manager.
PipelineContext(PipelineContext &&)=delete
const Strategies::PipelineHalideOperationManager & getHalideManager() const noexcept
Const overload for read-only access.
PipelineContext & operator=(const PipelineContext &)=delete
Thread-safe manager responsible for fused Halide operation pipelines.
Manages the lifecycle of a single IWorkingImage instance.
Descriptor of an operation with its parameters and unique identifier.
Factory for creating operations (Dependency Injection)
Central Registry and Factory for IPipelineExecutor instances.
Concrete manager for Halide-based adjustment operations.
CaptureMoment — footer