15#include <boost/shared_ptr.hpp>
17#include "declarative/PipelineDescription.h"
18#include "declarative/ModuleRegistry.h"
19#include "declarative/Issue.h"
62 std::map<std::string, ModuleEntry>
modules;
68 [](
const BuildIssue& i) { return i.level == BuildIssue::Level::Error; });
74 [](
const BuildIssue& i) { return i.level == BuildIssue::Level::Error; });
79 [](
const BuildIssue& i) { return i.level == BuildIssue::Level::Warning; });
84 std::vector<BuildIssue> result;
85 std::copy_if(
issues.begin(),
issues.end(), std::back_inserter(result),
86 [](
const BuildIssue& i) { return i.level == BuildIssue::Level::Error; });
91 std::vector<BuildIssue> result;
92 std::copy_if(
issues.begin(),
issues.end(), std::back_inserter(result),
93 [](
const BuildIssue& i) { return i.level == BuildIssue::Level::Warning; });
146 std::vector<BuildIssue>& issues
157 std::vector<BuildIssue>& issues,
158 bool selfManagedOutputPins =
false
166 std::vector<BuildIssue>& issues
172 const std::vector<Connection>& connections,
173 std::map<std::string, ModuleContext>& contextMap,
174 std::vector<BuildIssue>& issues
180 const std::vector<Connection>& originalConnections,
181 const std::vector<BridgeSpec>& bridges,
182 std::map<std::string, ModuleContext>& contextMap,
183 std::vector<BuildIssue>& issues
189 const std::map<std::string, ModuleContext>& contextMap,
190 std::vector<BuildIssue>& issues
197 const std::string& endpoint
207 std::vector<BuildIssue>& issues,
208 const std::string& location
Definition ModuleFactory.h:37
void setOptions(Options opts)
Definition ModuleFactory.h:127
void * cuContextPtr_
Definition ModuleFactory.h:138
void validateInputConnections(const std::map< std::string, ModuleContext > &contextMap, std::vector< BuildIssue > &issues)
Definition ModuleFactory.cpp:1195
ModuleFactory(Options opts=Options())
Definition ModuleFactory.cpp:360
const Options & options() const
Definition ModuleFactory.h:124
static std::pair< std::string, std::string > parseConnectionEndpoint(const std::string &endpoint)
Definition ModuleFactory.cpp:176
std::vector< Connection > insertBridgeModules(const std::vector< Connection > &originalConnections, const std::vector< BridgeSpec > &bridges, std::map< std::string, ModuleContext > &contextMap, std::vector< BuildIssue > &issues)
Definition ModuleFactory.cpp:810
BuildResult build(const PipelineDescription &desc)
Definition ModuleFactory.cpp:366
bool connectModules(const std::vector< Connection > &connections, std::map< std::string, ModuleContext > &contextMap, std::vector< BuildIssue > &issues)
Definition ModuleFactory.cpp:963
std::map< std::string, std::string > setupOutputPins(Module *module, const ModuleInfo &info, const ModuleInstance &instance, std::vector< BuildIssue > &issues, bool selfManagedOutputPins=false)
Definition ModuleFactory.cpp:193
boost::shared_ptr< Module > createModule(const ModuleInstance &instance, std::vector< BuildIssue > &issues)
Definition ModuleFactory.cpp:613
void * cudaStreamPtr_
Definition ModuleFactory.h:134
Options options_
Definition ModuleFactory.h:130
std::optional< ScalarPropertyValue > convertPropertyValue(const PropertyValue &value, const ModuleInfo::PropInfo &propInfo, std::vector< BuildIssue > &issues, const std::string &location)
Definition ModuleFactory.cpp:1180
void applyProperties(Module *module, const ModuleInstance &instance, const ModuleInfo *info, std::vector< BuildIssue > &issues)
Definition ModuleFactory.cpp:794
Definition FrameTypeRegistrations.h:10
std::variant< int64_t, double, bool, std::string, std::vector< int64_t >, std::vector< double >, std::vector< std::string > > PropertyValue
Definition PipelineDescription.h:22
BridgeType
Definition PipelineAnalyzer.h:23
Definition ModuleFactory.h:59
std::vector< BuildIssue > issues
Definition ModuleFactory.h:61
std::string formatPipelineGraph(const std::vector< Connection > &connections) const
Definition ModuleFactory.cpp:302
std::vector< BuildIssue > getWarnings() const
Definition ModuleFactory.h:90
bool hasWarnings() const
Definition ModuleFactory.h:77
bool hasErrors() const
Definition ModuleFactory.h:72
std::unique_ptr< PipeLine > pipeline
Definition ModuleFactory.h:60
std::vector< BuildIssue > getErrors() const
Definition ModuleFactory.h:83
std::map< std::string, ModuleEntry > modules
Definition ModuleFactory.h:62
bool success() const
Definition ModuleFactory.h:65
std::string formatIssues() const
Definition ModuleFactory.cpp:283
Definition ModuleFactory.h:108
std::string instanceId
Definition ModuleFactory.h:111
boost::shared_ptr< Module > module
Definition ModuleFactory.h:109
std::string moduleType
Definition ModuleFactory.h:110
std::vector< std::string > connectedInputs
Definition ModuleFactory.h:114
std::map< std::string, std::string > inputPinMap
Definition ModuleFactory.h:113
std::map< std::string, std::string > outputPinMap
Definition ModuleFactory.h:112
Definition ModuleFactory.h:51
std::string moduleType
Definition ModuleFactory.h:53
std::string instanceId
Definition ModuleFactory.h:54
DynamicPropertyAccessors propertyAccessors
Definition ModuleFactory.h:55
boost::shared_ptr< Module > module
Definition ModuleFactory.h:52
Definition ModuleFactory.h:40
bool strict_mode
Definition ModuleFactory.h:42
bool auto_bridge_enabled
Definition ModuleFactory.h:44
bool auto_insert_converters
Definition ModuleFactory.h:41
bool collect_info_messages
Definition ModuleFactory.h:43
Options()
Definition ModuleFactory.h:46
Definition ModuleRegistry.h:59
Definition ModuleRegistry.h:106
Definition ModuleRegistry.h:41
Definition PipelineDescription.h:35
Definition PipelineDescription.h:90