GNU Radio 3.4.0 C++ API
gr_flowgraph Class Reference

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

#include <gr_flowgraph.h>

Inheritance diagram for gr_flowgraph:

List of all members.

Public Member Functions

 ~gr_flowgraph ()
void connect (const gr_endpoint &src, const gr_endpoint &dst)
void disconnect (const gr_endpoint &src, const gr_endpoint &dst)
void connect (gr_basic_block_sptr src_block, int src_port, gr_basic_block_sptr dst_block, int dst_port)
void disconnect (gr_basic_block_sptr src_block, int src_port, gr_basic_block_sptr dst_block, int dst_port)
void validate ()
void clear ()
const gr_edge_vector_tedges () const
gr_basic_block_vector_t calc_used_blocks ()
gr_basic_block_vector_t topological_sort (gr_basic_block_vector_t &blocks)
std::vector
< gr_basic_block_vector_t
partition ()

Protected Member Functions

 gr_flowgraph ()
std::vector< int > calc_used_ports (gr_basic_block_sptr block, bool check_inputs)
gr_basic_block_vector_t calc_downstream_blocks (gr_basic_block_sptr block, int port)
gr_edge_vector_t calc_upstream_edges (gr_basic_block_sptr block)
bool has_block_p (gr_basic_block_sptr block)
gr_edge calc_upstream_edge (gr_basic_block_sptr block, int port)

Protected Attributes

gr_basic_block_vector_t d_blocks
gr_edge_vector_t d_edges

Friends

gr_flowgraph_sptr gr_make_flowgraph ()

Detailed Description

Class representing a directed, acyclic graph of basic blocks.


Constructor & Destructor Documentation

gr_flowgraph::~gr_flowgraph ( )
gr_flowgraph::gr_flowgraph ( ) [protected]

Member Function Documentation

gr_basic_block_vector_t gr_flowgraph::calc_downstream_blocks ( gr_basic_block_sptr  block,
int  port 
) [protected]
gr_edge gr_flowgraph::calc_upstream_edge ( gr_basic_block_sptr  block,
int  port 
) [protected]
gr_edge_vector_t gr_flowgraph::calc_upstream_edges ( gr_basic_block_sptr  block) [protected]
gr_basic_block_vector_t gr_flowgraph::calc_used_blocks ( )
std::vector<int> gr_flowgraph::calc_used_ports ( gr_basic_block_sptr  block,
bool  check_inputs 
) [protected]
void gr_flowgraph::clear ( )
void gr_flowgraph::connect ( const gr_endpoint src,
const gr_endpoint dst 
)

Referenced by connect().

void gr_flowgraph::connect ( gr_basic_block_sptr  src_block,
int  src_port,
gr_basic_block_sptr  dst_block,
int  dst_port 
) [inline]

References connect().

void gr_flowgraph::disconnect ( const gr_endpoint src,
const gr_endpoint dst 
)

Referenced by disconnect().

void gr_flowgraph::disconnect ( gr_basic_block_sptr  src_block,
int  src_port,
gr_basic_block_sptr  dst_block,
int  dst_port 
) [inline]

References disconnect().

const gr_edge_vector_t& gr_flowgraph::edges ( ) const [inline]

References d_edges.

bool gr_flowgraph::has_block_p ( gr_basic_block_sptr  block) [protected]
std::vector<gr_basic_block_vector_t> gr_flowgraph::partition ( )
gr_basic_block_vector_t gr_flowgraph::topological_sort ( gr_basic_block_vector_t blocks)
void gr_flowgraph::validate ( )

Friends And Related Function Documentation

gr_flowgraph_sptr gr_make_flowgraph ( ) [friend]

Member Data Documentation

Referenced by edges().


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