46 #ifndef _MUX_CONN_HPP_ 47 #define _MUX_CONN_HPP_ 66 std::vector<std::pair<generic_objRef, unsigned int>>
mux_tree;
75 const std::vector<std::pair<generic_objRef, unsigned int>>& _mux_tree)
91 THROW_ASSERT(mux_tree.size() > 0,
"Mux connection without any multiplexer associated");
92 return mux_tree[0].first->get_string() + (mux_tree[0].second ==
T_COND ?
"(T)" :
"(F)");
99 std::vector<std::pair<generic_objRef, unsigned int>>
get_mux_tree()
const 110 return static_cast<unsigned int>(mux_tree.size());
This class is used to represent a connection through multiplexers.
~mux_conn() override=default
Destructor.
Base class for all resources into datapath.
#define T_COND
constant used to represent control edges representing a true edge of a conditional statement...
const std::string get_string() const override
Returns the name associated with the element.
Generic class managing elements used to interconnect generic objects into datapath.
Template definition of refcount.
mux_conn(const CustomOrderedSet< data_transfer > &_live_variable, const std::vector< std::pair< generic_objRef, unsigned int >> &_mux_tree)
Constructor.
Data structures used in operations graph.
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
std::vector< std::pair< generic_objRef, unsigned int > > get_mux_tree() const
Returns the mux tree associated with the connection.
std::vector< std::pair< generic_objRef, unsigned int > > mux_tree
It's sequence of multiplexer inputs to drive the signal from the source element to the target one...
unsigned int get_mux_tree_size() const
Returns the number of multiplexers required to implement the connection.
#define THROW_ASSERT(cond, str_expr)
helper function used to check an assert and if needed to throw an error in a standard way ...