LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
misc::graph< Orientation, VertexLabel, EdgeLabel > Class Template Reference

#include <graph.hh>

Inheritance diagram for misc::graph< Orientation, VertexLabel, EdgeLabel >:
Collaboration diagram for misc::graph< Orientation, VertexLabel, EdgeLabel >:

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.

Member Typedef Documentation

template<typename Orientation, typename VertexLabel, typename EdgeLabel>
typedef boost::graph_traits<self_type>::edge_iterator misc::graph< Orientation, VertexLabel, EdgeLabel >::edge_iter_type

Iterator on the edges of a graph.

template<typename Orientation, typename VertexLabel, typename EdgeLabel>
typedef graph<Orientation, VertexLabel, EdgeLabel> misc::graph< Orientation, VertexLabel, EdgeLabel >::self_type
template<typename Orientation, typename VertexLabel, typename EdgeLabel>
typedef boost::adjacency_list<boost::setS, boost::vecS, Orientation, VertexLabel, EdgeLabel, name_prop_type> misc::graph< Orientation, VertexLabel, EdgeLabel >::super_type
template<typename Orientation, typename VertexLabel, typename EdgeLabel>
typedef super_type::vertex_descriptor misc::graph< Orientation, VertexLabel, EdgeLabel >::vertex_descriptor
template<typename Orientation, typename VertexLabel, typename EdgeLabel>
typedef boost::graph_traits<self_type>::vertex_iterator misc::graph< Orientation, VertexLabel, EdgeLabel >::vertex_iter_type

Iterators.

Iterator on the vertices of a graph.

Constructor & Destructor Documentation

template<typename Orientation , typename VertexLabel , typename EdgeLabel >
misc::graph< Orientation, VertexLabel, EdgeLabel >::~graph ( )
virtual

Member Function Documentation

template<typename Orientation, typename VertexLabel, typename EdgeLabel>
virtual void misc::graph< Orientation, VertexLabel, EdgeLabel >::edge_add ( const vertex_descriptor v1,
const vertex_descriptor v2 
)
pure virtual
template<typename Orientation , typename VertexLabel , typename EdgeLabel >
std::ostream & misc::graph< Orientation, VertexLabel, EdgeLabel >::epilogue_print ( std::ostream &  ostr) const
virtual

Reimplemented in liveness::InterferenceGraph.

template<typename Orientation , typename VertexLabel , typename EdgeLabel >
const std::string & misc::graph< Orientation, VertexLabel, EdgeLabel >::name_get ( ) const

Graph name.

Referenced by regalloc::Color::dump().

template<typename Orientation , typename VertexLabel , typename EdgeLabel >
void misc::graph< Orientation, VertexLabel, EdgeLabel >::name_set ( const std::string &  name)
template<typename Orientation , typename VertexLabel , typename EdgeLabel >
std::ostream & misc::graph< Orientation, VertexLabel, EdgeLabel >::print ( std::ostream &  ostr) const
virtual
template<typename Orientation , typename VertexLabel , typename EdgeLabel >
void misc::graph< Orientation, VertexLabel, EdgeLabel >::print ( std::string  file) const
virtual
template<typename Orientation , typename VertexLabel, typename EdgeLabel >
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.

template<typename Orientation, typename VertexLabel, typename EdgeLabel>
virtual std::ostream& misc::graph< Orientation, VertexLabel, EdgeLabel >::vertex_print ( vertex_descriptor  v,
std::ostream &  ostr 
) const
privatepure virtual

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