OA::DGraph::NodeImplement Class Reference

#include <DGraphImplement.hpp>

Inheritance diagram for OA::DGraph::NodeImplement:
Inheritance graph
[legend]
Collaboration diagram for OA::DGraph::NodeImplement:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 NodeImplement ()
unsigned int getId () const
int num_incoming () const
int num_outgoing () const
bool isAnEntry () const
 returns true if node is an entry node, IOW has no incoming edges
bool isAnExit () const
 returns true if node is an exit node, IOW has no outgoing edges
OA_ptr< EdgesIteratorInterfacegetIncomingEdgesIterator () const
OA_ptr< EdgesIteratorInterfacegetOutgoingEdgesIterator () const
OA_ptr< NodesIteratorInterfacegetSourceNodesIterator () const
OA_ptr< NodesIteratorInterfacegetSinkNodesIterator () const
bool operator== (NodeInterface &other)
bool operator< (NodeInterface &other)
void output (IRHandlesIRInterface &ir)
void dump (std::ostream &os)
void addIncomingEdge (OA_ptr< EdgeInterface > e)
void addOutgoingEdge (OA_ptr< EdgeInterface > e)
void removeIncomingEdge (OA_ptr< EdgeInterface > e)
void removeOutgoingEdge (OA_ptr< EdgeInterface > e)

Private Attributes

OA_ptr< std::list< OA_ptr
< EdgeInterface > > > 
mIncomingEdges
OA_ptr< std::list< OA_ptr
< EdgeInterface > > > 
mOutgoingEdges
unsigned int mId

Static Private Attributes

static unsigned int sNextId = 1

Detailed Description

Definition at line 78 of file DGraphImplement.hpp.


Constructor & Destructor Documentation

OA::DGraph::NodeImplement::NodeImplement (  ) 

Definition at line 18 of file DGraphImplement.cpp.

References OA::debug, mId, mIncomingEdges, mOutgoingEdges, OA_DEBUG_CTRL_MACRO, and sNextId.


Member Function Documentation

void OA::DGraph::NodeImplement::addIncomingEdge ( OA_ptr< EdgeInterface e  )  [virtual]

Implements OA::DGraph::NodeInterface.

Definition at line 514 of file DGraphImplement.cpp.

References mIncomingEdges, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

void OA::DGraph::NodeImplement::addOutgoingEdge ( OA_ptr< EdgeInterface e  )  [virtual]

Implements OA::DGraph::NodeInterface.

Definition at line 508 of file DGraphImplement.cpp.

References mOutgoingEdges, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

void OA::DGraph::NodeImplement::dump ( std::ostream &  os  )  [virtual]

Implements OA::DGraph::NodeInterface.

Reimplemented in OA::CallGraph::Node, OA::CFG::Node, and OA::ICFG::Node.

Definition at line 533 of file DGraphImplement.cpp.

References getId().

Here is the call graph for this function:

unsigned int OA::DGraph::NodeImplement::getId (  )  const [virtual]
OA_ptr< EdgesIteratorInterface > OA::DGraph::NodeImplement::getIncomingEdgesIterator (  )  const [virtual]
OA_ptr< EdgesIteratorInterface > OA::DGraph::NodeImplement::getOutgoingEdgesIterator (  )  const [virtual]
OA_ptr< NodesIteratorInterface > OA::DGraph::NodeImplement::getSinkNodesIterator (  )  const [virtual]
OA_ptr< NodesIteratorInterface > OA::DGraph::NodeImplement::getSourceNodesIterator (  )  const [virtual]
bool OA::DGraph::NodeImplement::isAnEntry (  )  const [virtual]

returns true if node is an entry node, IOW has no incoming edges

Implements OA::DGraph::NodeInterface.

Definition at line 620 of file DGraphImplement.cpp.

References num_incoming().

Referenced by OA::ICFG::Node::output().

Here is the call graph for this function:

bool OA::DGraph::NodeImplement::isAnExit (  )  const [virtual]

returns true if node is an exit node, IOW has no outgoing edges

Implements OA::DGraph::NodeInterface.

Definition at line 615 of file DGraphImplement.cpp.

References num_outgoing().

Referenced by OA::ICFG::Node::output().

Here is the call graph for this function:

int OA::DGraph::NodeImplement::num_incoming (  )  const [virtual]

Implements OA::DGraph::NodeInterface.

Definition at line 630 of file DGraphImplement.cpp.

References mIncomingEdges.

Referenced by isAnEntry().

int OA::DGraph::NodeImplement::num_outgoing (  )  const [virtual]

Implements OA::DGraph::NodeInterface.

Definition at line 625 of file DGraphImplement.cpp.

References mOutgoingEdges.

Referenced by isAnExit().

bool OA::DGraph::NodeImplement::operator< ( NodeInterface other  ) 

Definition at line 545 of file DGraphImplement.cpp.

References OA::DGraph::NodeInterface::getId(), and getId().

Here is the call graph for this function:

bool OA::DGraph::NodeImplement::operator== ( NodeInterface other  ) 

Definition at line 550 of file DGraphImplement.cpp.

References OA::debug, OA::DGraph::NodeInterface::getId(), and getId().

Here is the call graph for this function:

void OA::DGraph::NodeImplement::output ( IRHandlesIRInterface ir  )  [virtual]

Implements OA::Annotation.

Reimplemented in OA::CallGraph::Node, OA::CFG::Node, and OA::ICFG::Node.

Definition at line 538 of file DGraphImplement.cpp.

References getId(), and OA::Annotation::sOutBuild.

Here is the call graph for this function:

void OA::DGraph::NodeImplement::removeIncomingEdge ( OA_ptr< EdgeInterface e  )  [virtual]

Implements OA::DGraph::NodeInterface.

Definition at line 526 of file DGraphImplement.cpp.

References mIncomingEdges, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

void OA::DGraph::NodeImplement::removeOutgoingEdge ( OA_ptr< EdgeInterface e  )  [virtual]

Implements OA::DGraph::NodeInterface.

Definition at line 520 of file DGraphImplement.cpp.

References mOutgoingEdges, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:


Member Data Documentation

unsigned int OA::DGraph::NodeImplement::mId [private]

Definition at line 135 of file DGraphImplement.hpp.

Referenced by getId(), and NodeImplement().

unsigned int OA::DGraph::NodeImplement::sNextId = 1 [static, private]

Definition at line 136 of file DGraphImplement.hpp.

Referenced by NodeImplement().


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

Generated on Sat Oct 31 05:31:20 2009 for OpenAnalysis by  doxygen 1.6.1