GNU Radio Manual and C++ API Reference  3.7.4
The Free & Open Software Radio Ecosystem
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
gr::flowgraph Class Reference

Class representing a directed, acyclic graph of basic blocks. More...

#include <gnuradio/flowgraph.h>

Public Member Functions

 ~flowgraph ()
 
void connect (const endpoint &src, const endpoint &dst)
 
void disconnect (const endpoint &src, const endpoint &dst)
 
void connect (basic_block_sptr src_block, int src_port, basic_block_sptr dst_block, int dst_port)
 
void disconnect (basic_block_sptr src_block, int src_port, basic_block_sptr dst_block, int dst_port)
 
void connect (const msg_endpoint &src, const msg_endpoint &dst)
 
void disconnect (const msg_endpoint &src, const msg_endpoint &dst)
 
void validate ()
 
void clear ()
 
const edge_vector_tedges () const
 
const msg_edge_vector_tmsg_edges () const
 
basic_block_vector_t calc_used_blocks ()
 
basic_block_vector_t topological_sort (basic_block_vector_t &blocks)
 
std::vector< basic_block_vector_tpartition ()
 

Protected Member Functions

 flowgraph ()
 
std::vector< int > calc_used_ports (basic_block_sptr block, bool check_inputs)
 
basic_block_vector_t calc_downstream_blocks (basic_block_sptr block, int port)
 
edge_vector_t calc_upstream_edges (basic_block_sptr block)
 
bool has_block_p (basic_block_sptr block)
 
edge calc_upstream_edge (basic_block_sptr block, int port)
 

Protected Attributes

basic_block_vector_t d_blocks
 
edge_vector_t d_edges
 
msg_edge_vector_t d_msg_edges
 

Friends

GR_RUNTIME_API flowgraph_sptr make_flowgraph ()
 

Detailed Description

Class representing a directed, acyclic graph of basic blocks.

Constructor & Destructor Documentation

gr::flowgraph::~flowgraph ( )
gr::flowgraph::flowgraph ( )
protected

Member Function Documentation

basic_block_vector_t gr::flowgraph::calc_downstream_blocks ( basic_block_sptr  block,
int  port 
)
protected
edge gr::flowgraph::calc_upstream_edge ( basic_block_sptr  block,
int  port 
)
protected
edge_vector_t gr::flowgraph::calc_upstream_edges ( basic_block_sptr  block)
protected
basic_block_vector_t gr::flowgraph::calc_used_blocks ( )
std::vector<int> gr::flowgraph::calc_used_ports ( basic_block_sptr  block,
bool  check_inputs 
)
protected
void gr::flowgraph::clear ( )
void gr::flowgraph::connect ( const endpoint src,
const endpoint dst 
)

Referenced by connect().

void gr::flowgraph::connect ( basic_block_sptr  src_block,
int  src_port,
basic_block_sptr  dst_block,
int  dst_port 
)
inline

References connect().

void gr::flowgraph::connect ( const msg_endpoint src,
const msg_endpoint dst 
)
void gr::flowgraph::disconnect ( const endpoint src,
const endpoint dst 
)

Referenced by disconnect().

void gr::flowgraph::disconnect ( basic_block_sptr  src_block,
int  src_port,
basic_block_sptr  dst_block,
int  dst_port 
)
inline

References disconnect().

void gr::flowgraph::disconnect ( const msg_endpoint src,
const msg_endpoint dst 
)
const edge_vector_t& gr::flowgraph::edges ( ) const
inline
bool gr::flowgraph::has_block_p ( basic_block_sptr  block)
protected
const msg_edge_vector_t& gr::flowgraph::msg_edges ( ) const
inline
std::vector<basic_block_vector_t> gr::flowgraph::partition ( )
basic_block_vector_t gr::flowgraph::topological_sort ( basic_block_vector_t blocks)
void gr::flowgraph::validate ( )

Friends And Related Function Documentation

GR_RUNTIME_API flowgraph_sptr make_flowgraph ( )
friend

Member Data Documentation

basic_block_vector_t gr::flowgraph::d_blocks
protected
edge_vector_t gr::flowgraph::d_edges
protected
msg_edge_vector_t gr::flowgraph::d_msg_edges
protected

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