LRDE Tiger Compiler
1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
|
#include <graph.hh>
Public Types | |
typedef graph< Orientation, VertexLabel, EdgeLabel > | self_type |
typedef boost::adjacency_list < boost::setS, boost::vecS, Orientation, VertexLabel, EdgeLabel, name_prop_type > | super_type |
typedef super_type::vertex_descriptor | vertex_descriptor |
typedef boost::graph_traits < self_type >::vertex_iterator | vertex_iter_type |
Iterators. | |
typedef boost::graph_traits < self_type >::edge_iterator | edge_iter_type |
Iterator on the edges of a graph. |
Public Member Functions | |
virtual | ~graph () |
vertex_descriptor | vertex_add (const VertexLabel &l) |
Add a vertex to the graph. | |
virtual void | edge_add (const vertex_descriptor &v1, const vertex_descriptor &v2)=0 |
Add an edge between two vertices. | |
const std::string & | name_get () const |
void | name_set (const std::string &name) |
virtual std::ostream & | print (std::ostream &ostr) const |
virtual std::ostream & | epilogue_print (std::ostream &ostr) const |
virtual void | print (std::string file) const |
virtual std::ostream & | vertex_print (vertex_descriptor v, std::ostream &ostr) const =0 |
Print the label of vertex of a graph. |
typedef boost::graph_traits<self_type>::edge_iterator misc::graph< Orientation, VertexLabel, EdgeLabel >::edge_iter_type |
Iterator on the edges of a graph.
typedef graph<Orientation, VertexLabel, EdgeLabel> misc::graph< Orientation, VertexLabel, EdgeLabel >::self_type |
typedef boost::adjacency_list<boost::setS, boost::vecS, Orientation, VertexLabel, EdgeLabel, name_prop_type> misc::graph< Orientation, VertexLabel, EdgeLabel >::super_type |
typedef super_type::vertex_descriptor misc::graph< Orientation, VertexLabel, EdgeLabel >::vertex_descriptor |
typedef boost::graph_traits<self_type>::vertex_iterator misc::graph< Orientation, VertexLabel, EdgeLabel >::vertex_iter_type |
Iterators.
Iterator on the vertices of a graph.
|
virtual |
|
pure virtual |
Add an edge between two vertices.
Implemented in misc::undirected_graph< VertexLabel, EdgeLabel >, misc::undirected_graph< temp::Temp >, misc::directed_graph< VertexLabel, EdgeLabel >, misc::directed_graph< const assem::Instr *, temp::temp_set_type >, misc::directed_graph< ast::FunctionDec * >, and misc::directed_graph< const assem::Instr *, EdgeLabel >.
|
virtual |
Reimplemented in liveness::InterferenceGraph.
const std::string & misc::graph< Orientation, VertexLabel, EdgeLabel >::name_get | ( | ) | const |
Graph name.
Referenced by regalloc::Color::dump().
void misc::graph< Orientation, VertexLabel, EdgeLabel >::name_set | ( | const std::string & | name | ) |
|
virtual |
Graph pretty printing.
References misc::deref, and target::tasks::target.
Referenced by liveness::interference_dump(), liveness::InterferenceGraph::InterferenceGraph(), and misc::operator<<().
|
virtual |
graph< Orientation, VertexLabel, EdgeLabel >::vertex_descriptor misc::graph< Orientation, VertexLabel, EdgeLabel >::vertex_add | ( | const VertexLabel & | l | ) |
Add a vertex to the graph.
Graph manipulation.Just a wrapper around boost::add_vertex.
|
privatepure virtual |
Print the label of vertex of a graph.
Implemented in liveness::InterferenceGraph, callgraph::FundecGraph, liveness::FlowGraph< EdgeLabel >, and liveness::FlowGraph< temp::temp_set_type >.