USRP Hardware Driver and USRP Manual  Version: 20250718.0.git40403b7c.el9
UHD and USRP Manual
graph.hpp
Go to the documentation of this file.
1 //
2 // Copyright 2019 Ettus Research, a National Instruments Brand
3 //
4 // SPDX-License-Identifier: GPL-3.0-or-later
5 //
6 
7 #pragma once
8 
9 #include <uhd/config.hpp>
10 #include <uhd/rfnoc/graph_edge.hpp>
11 #include <uhd/rfnoc/node.hpp>
12 #include <memory>
13 #include <string>
14 #include <vector>
15 
16 namespace uhd { namespace rfnoc { namespace detail {
17 
20 {
21 public:
22  using uptr = std::unique_ptr<graph_t>;
27 
30 
40  void connect(node_ref_t src_node, node_ref_t dst_node, graph_edge_t edge_info);
41 
51  void disconnect(node_ref_t src_node, node_ref_t dst_node, graph_edge_t edge_info);
52 
59  void remove(node_ref_t node);
60 
69  void commit();
70 
76  void release();
77 
85  void shutdown();
86 
89  std::vector<graph_edge_t> enumerate_edges();
90 
97  std::string to_dot();
98 
99 private:
100  friend class graph_accessor_t;
101  struct impl;
102  std::unique_ptr<impl> _impl;
103 };
104 
105 
106 }}} /* namespace uhd::rfnoc::detail */
Container for the logical graph within an uhd::rfnoc_graph.
Definition: graph.hpp:20
std::unique_ptr< graph_t > uptr
Definition: graph.hpp:22
void remove(node_ref_t node)
std::vector< graph_edge_t > enumerate_edges()
void connect(node_ref_t src_node, node_ref_t dst_node, graph_edge_t edge_info)
void disconnect(node_ref_t src_node, node_ref_t dst_node, graph_edge_t edge_info)
Definition: node.hpp:35
#define UHD_API
Definition: config.h:87
Definition: build_info.hpp:12
Definition: graph_edge.hpp:23