USRP Hardware Driver and USRP Manual  Version: 4.9.0.0
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 
28  graph_t();
29  ~graph_t();
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 */
uhd::rfnoc::detail::graph_t::uptr
std::unique_ptr< graph_t > uptr
Definition: graph.hpp:22
config.hpp
node.hpp
UHD_API
#define UHD_API
Definition: config.h:87
uhd::rfnoc::graph_edge_t
Definition: graph_edge.hpp:22
uhd::rfnoc::node_t
Definition: node.hpp:34
uhd
Definition: build_info.hpp:12
uhd::rfnoc::detail::graph_t
Container for the logical graph within an uhd::rfnoc_graph.
Definition: graph.hpp:19
graph_edge.hpp