IDS peak AFL v1.8.0
Loading...
Searching...
No Matches
peak_common_ipipeline.hpp
Go to the documentation of this file.
1
10
11#pragma once
12
16
17#include <memory>
18#include <string>
19#include <vector>
20
35
36namespace peak
37{
38namespace pipeline
39{
40
52{
53public:
54 virtual ~IPipeline() = default;
55
63 virtual void ExportSettingsToFile(const std::string& filePath) const = 0;
64
72 virtual void ImportSettingsFromFile(const std::string& filePath) = 0;
73
81 PEAK_COMMON_NO_DISCARD virtual std::string ExportSettingsToString() const = 0;
82
90 virtual void ImportSettingsFromString(const std::string& settings) = 0;
91
97 virtual void ResetToDefault() = 0;
98
110
122
132 PEAK_COMMON_NO_DISCARD virtual const char* GetType() const = 0;
133
134protected:
142 PEAK_COMMON_NO_DISCARD virtual std::vector<std::shared_ptr<modules::IModule>> GetModules() const = 0;
143};
144
145} // namespace pipeline
146} // namespace peak
A type-erased container for any copyable value.
Definition peak_common_any.hpp:36
Interface defining the structure and behavior of a processing pipeline.
Definition peak_common_ipipeline.hpp:52
virtual void ImportSettingsFromFile(const std::string &filePath)=0
Loads the settings of the pipeline and its modules from a file.
virtual PEAK_COMMON_NO_DISCARD std::vector< std::shared_ptr< modules::IModule > > GetModules() const =0
Retrieves the list of all modules in the pipeline, in execution order.
virtual PEAK_COMMON_NO_DISCARD const char * GetType() const =0
Returns the type identifier of the pipeline.
virtual void ResetToDefault()=0
Resets the pipeline and its modules to their default state.
virtual PEAK_COMMON_NO_DISCARD peak::common::Any Process(const peak::common::Any &input) const =0
Processes the input through all pipeline modules and returns the result.
virtual peak::common::Any operator<<(const peak::common::Any &input)=0
Convenience operator for processing input using the pipeline.
virtual PEAK_COMMON_NO_DISCARD std::string ExportSettingsToString() const =0
Returns the current settings of the pipeline and its modules as a string.
virtual void ImportSettingsFromString(const std::string &settings)=0
Loads settings for the pipeline and its modules from a string.
virtual void ExportSettingsToFile(const std::string &filePath) const =0
Saves the current settings of the pipeline and its modules to a file.
#define PEAK_COMMON_NO_DISCARD
Compatability macro for the nodiscard attribute.
Definition peak_common_defines.hpp:91
Interfaces and implementations for defining and controlling data processing pipelines.
Definition peak_afl_generic_auto_brightness.hpp:37