Class FlowGraph

class FlowGraph : public holoscan::Graph

Public Functions

~FlowGraph() override = default

virtual void add_operator(const NodeType &op) override

Add a node to the graph.

Parameters:

op – The node to add.

virtual void add_flow(const NodeType &op_u, const NodeType &op_v, const EdgeDataType &io_map) override

Add an edge to the graph.

Parameters:
  • op_u – A source operator.

  • op_v – A destination operator.

  • io_map – A map from the source operator’s port name to the destination operator’s port name(s).

virtual std::optional<EdgeDataType> get_port_map(const NodeType &op_u, const NodeType &op_v) override

Get a mapping from the source operator’s port name to the destination operator’s port name(s).

Parameters:
  • op_u – A source operator.

  • op_v – A destination operator.

Returns:

A map from the source operator’s port name to the destination operator’s port name(s).

virtual bool is_root(const NodeType &op) override

Check if the operator is a root operator.

Parameters:

op – A node in the graph.

Returns:

true if the operator is a root operator.

virtual bool is_leaf(const NodeType &op) override

Check if the operator is a left operator.

Parameters:

op – A node in the graph.

Returns:

true if the operator is a leaf operator.

virtual std::vector<NodeType> get_root_operators() override

Get all root operators.

Returns:

A vector of root operators.

virtual std::vector<NodeType> get_operators() override

Get all operators.

Returns:

A vector of all operators.

virtual std::vector<NodeType> get_next_operators(const NodeType &op) override

Get the next operators of the given operator.

Parameters:

op – A node in the graph.

Returns:

A vector of next operators.

Graph() = default

© Copyright 2022, NVIDIA. Last updated on Jun 28, 2023.