| USRP Hardware Driver and USRP Manual Version: 4.9.0.makepkg-0-g9ec1f582 UHD and USRP Manual |

Loading...
Searching...
No Matches
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
19 class UHD_API graph_t
20{
21 public:
22 using uptr = std::unique_ptr<graph_t>;
24 using node_ref_t = uhd::rfnoc::node_t*;
26 using graph_edge_t = uhd::rfnoc::graph_edge_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::commit
void commit()
uhd::rfnoc::detail::graph_t::~graph_t
~graph_t()
uhd::rfnoc::detail::graph_t::node_ref_t
uhd::rfnoc::node_t * node_ref_t
A shorthand for a pointer to a node.
Definition graph.hpp:24
uhd::rfnoc::detail::graph_t::release
void release()
uhd::rfnoc::detail::graph_t::enumerate_edges
std::vector< graph_edge_t > enumerate_edges()
uhd::rfnoc::detail::graph_t::graph_accessor_t
friend class graph_accessor_t
Definition graph.hpp:100
uhd::rfnoc::detail::graph_t::graph_t
graph_t()
uhd::rfnoc::detail::graph_t::uptr
std::unique_ptr< graph_t > uptr
Definition graph.hpp:22
uhd::rfnoc::detail::graph_t::remove
void remove(node_ref_t node)
uhd::rfnoc::detail::graph_t::to_dot
std::string to_dot()
uhd::rfnoc::detail::graph_t::graph_edge_t
uhd::rfnoc::graph_edge_t graph_edge_t
Shorthand to existing graph_edge_t.
Definition graph.hpp:26
uhd::rfnoc::detail::graph_t::connect
void connect(node_ref_t src_node, node_ref_t dst_node, graph_edge_t edge_info)
uhd::rfnoc::detail::graph_t::disconnect
void disconnect(node_ref_t src_node, node_ref_t dst_node, graph_edge_t edge_info)
uhd::rfnoc::detail::graph_t::shutdown
void shutdown()
uhd::rfnoc::node_t
Definition node.hpp:35
UHD_API
#define UHD_API
Definition config.h:87
config.hpp
graph_edge.hpp
uhd::rfnoc::detail
Definition graph.hpp:16
uhd::rfnoc
Definition actions.hpp:24
uhd
Definition build_info.hpp:12
node.hpp
uhd::rfnoc::graph_edge_t
Definition graph_edge.hpp:23