Class Graph
- Defined in File graph.hpp 
Derived Type
- public holoscan::FlowGraph(Class FlowGraph)
- 
class Graph
- Abstract base class for all graphs. - Subclassed by holoscan::FlowGraph - Public Types - using NodeType = std::shared_ptr<Operator>
 - using EdgeDataElementType = std::unordered_map<std::string, std::set<std::string, std::less<>>>
 - using EdgeDataType = std::shared_ptr<EdgeDataElementType>
 - Public Functions - Graph() = default
 - virtual ~Graph() = default
 - 
virtual void add_operator(const NodeType &op) = 0
- 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 &port_map) = 0
- Add an edge to the graph. - Parameters
- op_u – A source operator. 
- op_v – A destination operator. 
- port_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) = 0
- 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) = 0
- Check if the operator is a root operator. - Parameters
- Returns
 - op – A node in the graph. - true if the operator is a root operator. 
 - 
virtual bool is_leaf(const NodeType &op) = 0
- Check if the operator is a leaf operator. - Parameters
- Returns
 - op – A node in the graph. - true if the operator is a leaf operator. 
 - 
virtual std::vector<NodeType> get_root_operators() = 0
- Get all root operators. - Returns
 - A vector of root operators. 
 - 
virtual std::vector<NodeType> get_operators() = 0
- Get all operators. - Returns
 - A vector of all operators. 
 - 
virtual std::vector<NodeType> get_next_operators(const NodeType &op) = 0
- Get the next operators of the given operator. - Parameters
- Returns
 - op – A node in the graph. - A vector of next operators. 
 - 
inline virtual void context(void *context)
- Set the context. - Parameters
 - context – The context. 
 - 
inline virtual void *context()
- Get the context. - Returns
 - The context. 
 - Protected Attributes - void *context_ = nullptr
 - The context.