Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes | Friends

OA::RIFG Class Reference

#include <RIFG.hpp>

Collaboration diagram for OA::RIFG:
Collaboration graph
[legend]

List of all members.

Classes

class  IncomingEdgesIterator
class  NodesIterator
class  OutgoingEdgesIterator

Public Types

typedef unsigned int NodeId
typedef unsigned int EdgeId
typedef std::map< NodeId,
OA::OA_ptr
< OA::DGraph::NodeInterface > > 
IdToNodeMap_t
typedef std::map< OA::OA_ptr
< OA::DGraph::NodeInterface >
, NodeId
NodeToIdMap_t
typedef std::map< EdgeId,
OA::OA_ptr
< OA::DGraph::EdgeInterface > > 
IdToEdgeMap_t
typedef std::map< OA::OA_ptr
< OA::DGraph::EdgeInterface >
, EdgeId
EdgeToIdMap_t

Public Member Functions

 RIFG (OA_ptr< DGraph::DGraphInterface > graph, OA_ptr< DGraph::NodeInterface > source, OA_ptr< DGraph::NodeInterface > sink)
 ~RIFG ()
OA_ptr< DGraph::DGraphInterfacegetGraph ()
NodeId getHighWaterMarkNodeId () const
EdgeId getHighWaterMarkEdgeId () const
bool isValid (NodeId nin) const
OA::OA_ptr
< OA::DGraph::NodeInterface
getNode (const NodeId nid) const
OA::OA_ptr
< OA::DGraph::EdgeInterface
getEdge (const EdgeId eid) const
NodeId getNodeId (const OA::OA_ptr< OA::DGraph::NodeInterface > n) const
EdgeId getEdgeId (const OA::OA_ptr< OA::DGraph::EdgeInterface > e) const
NodeId getSource () const
NodeId getSink () const
NodeId getEdgeSrc (EdgeId eid) const
NodeId getEdgeSink (EdgeId eid) const
OA_ptr< NodesIteratorgetNodesIterator () const
OA_ptr< IncomingEdgesIteratorgetIncomingEdgesIterator (NodeId nid) const
OA_ptr< OutgoingEdgesIteratorgetOutgoingEdgesIterator (NodeId nid) const
void dumpNode (std::ostream &os, NodeId nid)

Static Public Member Functions

static OA_ptr
< DGraph::NodeInterface
getSourceNode (OA_ptr< DGraph::DGraphInterface > graph)
static OA_ptr
< DGraph::NodeInterface
getSinkNode (OA_ptr< DGraph::DGraphInterface > graph)

Static Public Attributes

static unsigned int NIL = 0

Private Attributes

OA_ptr< DGraph::DGraphInterfacegraph
OA_ptr< DGraph::NodeInterfacemSource
OA_ptr< DGraph::NodeInterfacemSink
NodeId highWaterMarkNodeId
EdgeId highWaterMarkEdgeId
IdToNodeMap_t id_to_node_map
NodeToIdMap_t node_to_id_map
IdToEdgeMap_t id_to_edge_map
EdgeToIdMap_t edge_to_id_map

Friends

class NodesIterator

Detailed Description

Definition at line 49 of file RIFG.hpp.


Member Typedef Documentation

typedef unsigned int OA::RIFG::EdgeId

Definition at line 53 of file RIFG.hpp.

Definition at line 66 of file RIFG.hpp.

Definition at line 64 of file RIFG.hpp.

Definition at line 59 of file RIFG.hpp.

typedef unsigned int OA::RIFG::NodeId

Definition at line 52 of file RIFG.hpp.

Definition at line 61 of file RIFG.hpp.


Constructor & Destructor Documentation

OA::RIFG::RIFG ( OA_ptr< DGraph::DGraphInterface graph,
OA_ptr< DGraph::NodeInterface source,
OA_ptr< DGraph::NodeInterface sink 
)
OA::RIFG::~RIFG (  ) 

Definition at line 83 of file RIFG.cpp.

References edge_to_id_map, id_to_edge_map, id_to_node_map, and node_to_id_map.


Member Function Documentation

void OA::RIFG::dumpNode ( std::ostream &  os,
RIFG::NodeId  nid 
)

Definition at line 158 of file RIFG.cpp.

OA::OA_ptr<OA::DGraph::EdgeInterface> OA::RIFG::getEdge ( const EdgeId  eid  )  const [inline]

Definition at line 170 of file RIFG.hpp.

References id_to_edge_map.

Referenced by getEdgeSink(), and getEdgeSrc().

EdgeId OA::RIFG::getEdgeId ( const OA::OA_ptr< OA::DGraph::EdgeInterface e  )  const [inline]
RIFG::NodeId OA::RIFG::getEdgeSink ( RIFG::EdgeId  eid  )  const

Definition at line 122 of file RIFG.cpp.

References getEdge(), getNodeId(), and OA::n.

Here is the call graph for this function:

RIFG::NodeId OA::RIFG::getEdgeSrc ( RIFG::EdgeId  eid  )  const

Definition at line 113 of file RIFG.cpp.

References getEdge(), getNodeId(), and OA::n.

Here is the call graph for this function:

OA_ptr<DGraph::DGraphInterface> OA::RIFG::getGraph (  )  [inline]

Definition at line 150 of file RIFG.hpp.

References graph.

EdgeId OA::RIFG::getHighWaterMarkEdgeId (  )  const [inline]

Definition at line 154 of file RIFG.hpp.

References highWaterMarkEdgeId.

NodeId OA::RIFG::getHighWaterMarkNodeId (  )  const [inline]

Definition at line 153 of file RIFG.hpp.

References highWaterMarkNodeId.

OA_ptr< RIFG::IncomingEdgesIterator > OA::RIFG::getIncomingEdgesIterator ( NodeId  nid  )  const

Definition at line 140 of file RIFG.cpp.

OA::OA_ptr<OA::DGraph::NodeInterface> OA::RIFG::getNode ( const NodeId  nid  )  const [inline]
NodeId OA::RIFG::getNodeId ( const OA::OA_ptr< OA::DGraph::NodeInterface n  )  const [inline]

Definition at line 179 of file RIFG.hpp.

References NIL, and node_to_id_map.

Referenced by OA::RIFG::NodesIterator::current(), getEdgeSink(), getEdgeSrc(), getSink(), and getSource().

OA_ptr< RIFG::NodesIterator > OA::RIFG::getNodesIterator (  )  const

Definition at line 131 of file RIFG.cpp.

References NodesIterator.

OA_ptr< RIFG::OutgoingEdgesIterator > OA::RIFG::getOutgoingEdgesIterator ( NodeId  nid  )  const

Definition at line 149 of file RIFG.cpp.

RIFG::NodeId OA::RIFG::getSink (  )  const

Definition at line 107 of file RIFG.cpp.

References getNodeId(), and mSink.

Here is the call graph for this function:

OA_ptr< DGraph::NodeInterface > OA::RIFG::getSinkNode ( OA_ptr< DGraph::DGraphInterface graph  )  [static]

Definition at line 186 of file RIFG.cpp.

References OA::OA_ptr< T >::convert(), OA::OA_ptr< T >::isa(), and OA::n.

Referenced by OA::SCCSet::SCCSet().

Here is the call graph for this function:

RIFG::NodeId OA::RIFG::getSource (  )  const

Definition at line 100 of file RIFG.cpp.

References getNodeId(), and mSource.

Here is the call graph for this function:

OA_ptr< DGraph::NodeInterface > OA::RIFG::getSourceNode ( OA_ptr< DGraph::DGraphInterface graph  )  [static]

Definition at line 169 of file RIFG.cpp.

References OA::OA_ptr< T >::convert(), OA::OA_ptr< T >::isa(), and OA::n.

Referenced by OA::SCCSet::SCCSet().

Here is the call graph for this function:

bool OA::RIFG::isValid ( RIFG::NodeId  nid  )  const

Definition at line 93 of file RIFG.cpp.


Friends And Related Function Documentation

friend class NodesIterator [friend]

Definition at line 216 of file RIFG.hpp.

Referenced by getNodesIterator().


Member Data Documentation

Definition at line 229 of file RIFG.hpp.

Referenced by getEdgeId(), RIFG(), and ~RIFG().

Definition at line 219 of file RIFG.hpp.

Referenced by getGraph(), and RIFG().

Definition at line 224 of file RIFG.hpp.

Referenced by getHighWaterMarkEdgeId(), and RIFG().

Definition at line 223 of file RIFG.hpp.

Referenced by getHighWaterMarkNodeId(), and RIFG().

Definition at line 228 of file RIFG.hpp.

Referenced by getEdge(), RIFG(), and ~RIFG().

Definition at line 226 of file RIFG.hpp.

Referenced by getNode(), RIFG(), and ~RIFG().

Definition at line 221 of file RIFG.hpp.

Referenced by getSink().

Definition at line 220 of file RIFG.hpp.

Referenced by getSource().

unsigned int OA::RIFG::NIL = 0 [static]

Definition at line 227 of file RIFG.hpp.

Referenced by getNodeId(), RIFG(), and ~RIFG().


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