Declaration
class simaai::neat::graph::nodes::PipelineNode { ... }
Base class
Public Constructors Index
| PipelineNode (const simaai::neat::NodeGroup &group, std::string label={}) |
|
|
|
| PipelineNode (simaai::neat::NodeGroup &&group, std::string label={}) |
|
|
|
| PipelineNode (std::shared_ptr< simaai::neat::Node > node, std::string label={}) |
|
|
|
Public Member Functions Index
Private Member Functions Index
Private Member Attributes Index
Definition at line 20 of file PipelineNode.h.
Public Constructors
PipelineNode()
| simaai::neat::graph::nodes::PipelineNode::PipelineNode (const simaai::neat::NodeGroup & group, std::string label={}) |
|
inline
explicit
|
Definition at line 22 of file PipelineNode.h.
23 : group_(group), label_(std::move(label)) {
24 init_();
25 }
PipelineNode()
| simaai::neat::graph::nodes::PipelineNode::PipelineNode (simaai::neat::NodeGroup && group, std::string label={}) |
|
inline
explicit
|
Definition at line 27 of file PipelineNode.h.
28 : group_(std::move(group)), label_(std::move(label)) {
29 init_();
30 }
PipelineNode()
| simaai::neat::graph::nodes::PipelineNode::PipelineNode (std::shared_ptr< simaai::neat::Node > node, std::string label={}) |
|
inline
explicit
|
Definition at line 32 of file PipelineNode.h.
32 explicit PipelineNode(std::shared_ptr<simaai::neat::Node> node, std::string label = {})
33 : group_(std::vector<std::shared_ptr<simaai::neat::Node>>{std::move(node)}),
34 label_(std::move(label)) {
35 init_();
36 }
Public Member Functions
backend()
| Backend simaai::neat::graph::nodes::PipelineNode::backend () |
|
inline
virtual
|
group()
| const simaai::neat::NodeGroup& simaai::neat::graph::nodes::PipelineNode::group () |
|
inline
|
Definition at line 65 of file PipelineNode.h.
65 const simaai::neat::NodeGroup& group() const {
66 return group_;
67 }
input_ports()
| std::vector<PortDesc> simaai::neat::graph::nodes::PipelineNode::input_ports () |
|
inline
virtual
|
Definition at line 55 of file PipelineNode.h.
56 if (!requires_input_)
57 return {};
59 }
is_source_like()
| bool simaai::neat::graph::nodes::PipelineNode::is_source_like () |
|
inline
|
kind()
| std::string simaai::neat::graph::nodes::PipelineNode::kind () |
|
inline
virtual
|
output_ports()
| std::vector<PortDesc> simaai::neat::graph::nodes::PipelineNode::output_ports () |
|
inline
virtual
|
requires_input()
| bool simaai::neat::graph::nodes::PipelineNode::requires_input () |
|
inline
|
user_label()
| std::string simaai::neat::graph::nodes::PipelineNode::user_label () |
|
inline
virtual
|
Definition at line 46 of file PipelineNode.h.
47 if (!label_.empty())
48 return label_;
49 if (group_.size() == 1 && group_.nodes().front()) {
50 return group_.nodes().front()->user_label();
51 }
52 return "";
53 }
Private Member Functions
init_()
| void simaai::neat::graph::nodes::PipelineNode::init_ () |
|
inline
|
Definition at line 77 of file PipelineNode.h.
77 void init_() {
78 bool has_source = false;
79 bool has_push = false;
80 const auto& nodes = group_.nodes();
81 if (nodes.size() == 1 && nodes.front()) {
82 kind_ = nodes.front()->kind();
83 } else {
84 kind_ = "PipelineGroup";
85 }
86
87 for (const auto& n : nodes) {
88 if (!n)
89 continue;
90 const InputRole role = n->input_role();
91 if (role == InputRole::Source)
92 has_source = true;
93 if (role == InputRole::Push)
94 has_push = true;
95 }
96
97 is_source_like_ = has_source && !has_push;
98 requires_input_ = !is_source_like_;
99 }
Private Member Attributes
group_
| simaai::neat::NodeGroup simaai::neat::graph::nodes::PipelineNode::group_ |
|
is_source_like_
| bool simaai::neat::graph::nodes::PipelineNode::is_source_like_ = false |
|
kind_
| std::string simaai::neat::graph::nodes::PipelineNode::kind_ |
|
label_
| std::string simaai::neat::graph::nodes::PipelineNode::label_ |
|
requires_input_
| bool simaai::neat::graph::nodes::PipelineNode::requires_input_ = true |
|
The documentation for this class was generated from the following file:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.1.