Skip to main content

StageNode Class

Declaration

class simaai::neat::graph::nodes::StageNode { ... }

Included Headers

#include <StageNode.h>

Base class

classNode

Base class for hybrid graph nodes. More...

Public Member Typedefs Index

usingStageExecutorFactory = std::function< std::unique_ptr< simaai::neat::graph::StageExecutor >()>
usingOutputSpecFn = std::function< OutputSpec(const std::vector< OutputSpec > &, PortId)>

Public Constructors Index

StageNode (std::string kind, StageExecutorFactory factory, std::vector< PortDesc > inputs, std::vector< PortDesc > outputs, std::string label={}, OutputSpecFn out_fn={}, StageNodeOptions options={})

Public Member Functions Index

Backendbackend () const override
std::stringkind () const override
std::stringuser_label () const override
std::vector< PortDesc >input_ports () const override
std::vector< PortDesc >output_ports () const override
OutputSpecoutput_spec (const std::vector< OutputSpec > &inputs, PortId out_port) const override
const StageExecutorFactory &factory () const
const StageNodeOptions &options () const

Private Member Attributes Index

std::stringkind_
std::stringlabel_
std::vector< PortDesc >inputs_
std::vector< PortDesc >outputs_
StageExecutorFactoryfactory_
OutputSpecFnoutput_spec_fn_
StageNodeOptionsoptions_

Definition at line 35 of file StageNode.h.

Public Member Typedefs

OutputSpecFn

using simaai::neat::graph::nodes::StageNode::OutputSpecFn = std::function<OutputSpec(const std::vector<OutputSpec>&, PortId)>

Definition at line 38 of file StageNode.h.

38 using OutputSpecFn = std::function<OutputSpec(const std::vector<OutputSpec>&, PortId)>;

StageExecutorFactory

using simaai::neat::graph::nodes::StageNode::StageExecutorFactory = std::function<std::unique_ptr<simaai::neat::graph::StageExecutor>()>

Definition at line 37 of file StageNode.h.

37 using StageExecutorFactory = std::function<std::unique_ptr<simaai::neat::graph::StageExecutor>()>;

Public Constructors

StageNode()

simaai::neat::graph::nodes::StageNode::StageNode (std::string kind, StageExecutorFactory factory, std::vector< PortDesc > inputs, std::vector< PortDesc > outputs, std::string label={}, OutputSpecFn out_fn={}, StageNodeOptions options={})
inline

Definition at line 40 of file StageNode.h.

40 StageNode(std::string kind, StageExecutorFactory factory, std::vector<PortDesc> inputs,
41 std::vector<PortDesc> outputs, std::string label = {}, OutputSpecFn out_fn = {},
42 StageNodeOptions options = {})
43 : kind_(std::move(kind)), label_(std::move(label)), inputs_(std::move(inputs)),
44 outputs_(std::move(outputs)), factory_(std::move(factory)),
45 output_spec_fn_(std::move(out_fn)), options_(std::move(options)) {}

Public Member Functions

backend()

Backend simaai::neat::graph::nodes::StageNode::backend ()
inline virtual

Definition at line 47 of file StageNode.h.

47 Backend backend() const override {
48 return Backend::Stage;
49 }

factory()

const StageExecutorFactory& simaai::neat::graph::nodes::StageNode::factory ()
inline

Definition at line 75 of file StageNode.h.

76 return factory_;
77 }

input_ports()

std::vector<PortDesc> simaai::neat::graph::nodes::StageNode::input_ports ()
inline virtual

Definition at line 59 of file StageNode.h.

59 std::vector<PortDesc> input_ports() const override {
60 return inputs_;
61 }

kind()

std::string simaai::neat::graph::nodes::StageNode::kind ()
inline virtual

Definition at line 51 of file StageNode.h.

51 std::string kind() const override {
52 return kind_;
53 }

options()

const StageNodeOptions& simaai::neat::graph::nodes::StageNode::options ()
inline

Definition at line 78 of file StageNode.h.

78 const StageNodeOptions& options() const {
79 return options_;
80 }

output_ports()

std::vector<PortDesc> simaai::neat::graph::nodes::StageNode::output_ports ()
inline virtual

Definition at line 63 of file StageNode.h.

63 std::vector<PortDesc> output_ports() const override {
64 return outputs_;
65 }

output_spec()

OutputSpec simaai::neat::graph::nodes::StageNode::output_spec (const std::vector< OutputSpec > & inputs, PortId out_port)
inline virtual

Definition at line 67 of file StageNode.h.

67 OutputSpec output_spec(const std::vector<OutputSpec>& inputs, PortId out_port) const override {
68 if (output_spec_fn_)
69 return output_spec_fn_(inputs, out_port);
70 if (outputs_.size() == 1)
71 return outputs_.front().spec;
72 return OutputSpec{};
73 }

user_label()

std::string simaai::neat::graph::nodes::StageNode::user_label ()
inline virtual

Definition at line 55 of file StageNode.h.

55 std::string user_label() const override {
56 return label_;
57 }

Private Member Attributes

factory_

StageExecutorFactory simaai::neat::graph::nodes::StageNode::factory_

Definition at line 87 of file StageNode.h.

inputs_

std::vector<PortDesc> simaai::neat::graph::nodes::StageNode::inputs_

Definition at line 85 of file StageNode.h.

85 std::vector<PortDesc> inputs_;

kind_

std::string simaai::neat::graph::nodes::StageNode::kind_

Definition at line 83 of file StageNode.h.

83 std::string kind_;

label_

std::string simaai::neat::graph::nodes::StageNode::label_

Definition at line 84 of file StageNode.h.

84 std::string label_;

options_

StageNodeOptions simaai::neat::graph::nodes::StageNode::options_

Definition at line 89 of file StageNode.h.

89 StageNodeOptions options_;

output_spec_fn_

OutputSpecFn simaai::neat::graph::nodes::StageNode::output_spec_fn_

Definition at line 88 of file StageNode.h.

88 OutputSpecFn output_spec_fn_;

outputs_

std::vector<PortDesc> simaai::neat::graph::nodes::StageNode::outputs_

Definition at line 86 of file StageNode.h.

86 std::vector<PortDesc> outputs_;

The documentation for this class was generated from the following file:


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.1.