Loading...
Searching...
No Matches
uhd::rfnoc::graph_edge_t Struct Reference

`#include <uhd/rfnoc/graph_edge.hpp>`

Collaboration diagram for uhd::rfnoc::graph_edge_t:
[legend]

## Public Types

enum | edge_t { STATIC , DYNAMIC , RX_STREAM , TX_STREAM }

## Public Member Functions

| graph_edge_t ()=default
| graph_edge_t (const size_t src_port_, const size_t dst_port_, const edge_t edge_, const bool fwd_edge)
bool | operator== (const graph_edge_t &rhs) const
| Equality operator: Compare two edges if they match, including edge.
bool | is_equal (const graph_edge_t &rhs, const bool match_properties=false) const
std::string | to_string () const
| Return a string representation of the connection.

## Public Attributes

std::string | src_blockid
| The ID of the source block for this edge.
size_t | src_port = 0
| The port number of the source block for this edge.
std::string | dst_blockid
| The ID of the destination block for this edge.
size_t | dst_port = 0
| The port number of the destination block for this edge.
edge_t | edge = DYNAMIC
| The type of edge.
bool | is_forward_edge = true
| When false, the framework will assume this is a back-edge. Back-edges.

## Detailed Description

A container that holds information about a graph edge

Note: The source and destination IDs are strings, not block IDs (uhd::rfnoc::block_id_t). This is because the graph can contain edges that are not between RFNoC blocks (e.g., to a streamer), and we need to be able to generically express node IDs.

## Member Enumeration Documentation

## edge_t

enum uhd::rfnoc::graph_edge_t::edge_t

Enumerator
STATIC | A static connection between two blocks in the FPGA.
DYNAMIC | A user (dynamic) connection between two blocks in the FPGA.
RX_STREAM | A connection from an FPGA block to a software RX streamer.
TX_STREAM | A connection from a software TX streamer and an FPGA block.

## Constructor & Destructor Documentation

## graph_edge_t() [1/2]

uhd::rfnoc::graph_edge_t::graph_edge_t | ( |  | ) |

default

## graph_edge_t() [2/2]

uhd::rfnoc::graph_edge_t::graph_edge_t | ( | const size_t | src_port_,
|  | const size_t | dst_port_,
|  | const edge_t | edge_,
|  | const bool | fwd_edge )

inline

## Member Function Documentation

## is_equal()

bool uhd::rfnoc::graph_edge_t::is_equal | ( | const graph_edge_t & | rhs,
|  | const bool | match_properties = false ) const

inline

Equality comparison of two edges.

If `match_properties` is false, this compares two edges to test if they have the same direction, source port, and destination port. If `match_properties` is true, then it also tests if all the edge properties match (edge type, back-edge).

Returns
  true if edges match.

## operator==()

bool uhd::rfnoc::graph_edge_t::operator== | ( | const graph_edge_t & | rhs | ) | const

inline

Equality operator: Compare two edges if they match, including edge.

## to_string()

std::string uhd::rfnoc::graph_edge_t::to_string | ( |  | ) | const

inline

Return a string representation of the connection.

## Member Data Documentation

## dst_blockid

std::string uhd::rfnoc::graph_edge_t::dst_blockid

The ID of the destination block for this edge.

## dst_port

size_t uhd::rfnoc::graph_edge_t::dst_port = 0

The port number of the destination block for this edge.

## edge

edge_t uhd::rfnoc::graph_edge_t::edge = DYNAMIC

The type of edge.

## is_forward_edge

bool uhd::rfnoc::graph_edge_t::is_forward_edge = true

When false, the framework will assume this is a back-edge. Back-edges.

## src_blockid

std::string uhd::rfnoc::graph_edge_t::src_blockid

The ID of the source block for this edge.

## src_port

size_t uhd::rfnoc::graph_edge_t::src_port = 0

The port number of the source block for this edge.

The documentation for this struct was generated from the following file:

- graph_edge.hpp