#include <Node.h>
Public Types | |
| typedef boost::shared_ptr< Node > | Ptr |
Public Member Functions | |
| void | ins (EdgeIterator &begin, EdgeIterator &end) |
| void | outs (EdgeIterator &begin, EdgeIterator &end) |
| void | ins (NodeIterator &begin, NodeIterator &end) |
| void | outs (NodeIterator &begin, NodeIterator &end) |
| bool | hasInEdges () |
| bool | hasOutEdges () |
| void | deleteInEdge (EdgeIterator e) |
| void | deleteOutEdge (EdgeIterator e) |
| void | forwardClosure (NodeIterator &begin, NodeIterator &end) |
| void | backwardClosure (NodeIterator &begin, NodeIterator &end) |
| GraphPtr | forwardSubgraph () |
| GraphPtr | backwardSubgraph () |
| virtual Address | addr () const |
| virtual std::string | format () const =0 |
| virtual Node::Ptr | copy ()=0 |
| virtual bool | isVirtual () const =0 |
| virtual | ~Node () |
| virtual std::string | DOTshape () const |
| virtual std::string | DOTrank () const |
| virtual std::string | DOTname () const |
| virtual bool | DOTinclude () const |
Protected Member Functions | |
| Node () | |
| void | addInEdge (const EdgePtr in) |
| void | addOutEdge (const EdgePtr out) |
Protected Attributes | |
| EdgeSet | ins_ |
| EdgeSet | outs_ |
Static Protected Attributes | |
| static const Address | INVALID_ADDR = (Address) -1 |
Private Types | |
| typedef boost::shared_ptr< Edge > | EdgePtr |
| typedef boost::shared_ptr< Graph > | GraphPtr |
| typedef std::set< EdgePtr > | EdgeSet |
Friends | |
| class | Edge |
| class | Graph |
Definition at line 55 of file Node.h.
typedef boost::shared_ptr<Edge> Dyninst::Node::EdgePtr [private] |
typedef std::set<EdgePtr> Dyninst::Node::EdgeSet [private] |
typedef boost::shared_ptr<Graph> Dyninst::Node::GraphPtr [private] |
| typedef boost::shared_ptr<Node> Dyninst::Node::Ptr |
Reimplemented in Dyninst::PhysicalNode, and Dyninst::VirtualNode.
| void Node::addInEdge | ( | const EdgePtr | in | ) | [protected] |
| void Node::addOutEdge | ( | const EdgePtr | out | ) | [protected] |
| virtual Address Dyninst::Node::addr | ( | ) | const [inline, virtual] |
Reimplemented in Dyninst::PhysicalNode.
| void Node::backwardClosure | ( | NodeIterator & | begin, | |
| NodeIterator & | end | |||
| ) |
Definition at line 100 of file Node.C.
References Dyninst::NodeSearchIterator::breadth, hasInEdges(), Dyninst::NodeSearchIterator::in, and ins().
| Graph::Ptr Node::backwardSubgraph | ( | ) |
Definition at line 272 of file Node.C.
References Dyninst::NodeIterator::copy(), copy(), Dyninst::Graph::createGraph(), and ins_.
| virtual Node::Ptr Dyninst::Node::copy | ( | ) | [pure virtual] |
Implemented in Dyninst::PhysicalNode, and Dyninst::VirtualNode.
Referenced by backwardSubgraph(), and forwardSubgraph().
| void Node::deleteInEdge | ( | EdgeIterator | e | ) |
| void Node::deleteOutEdge | ( | EdgeIterator | e | ) |
| virtual bool Dyninst::Node::DOTinclude | ( | ) | const [inline, virtual] |
| std::string Node::DOTname | ( | ) | const [virtual] |
| std::string Node::DOTrank | ( | ) | const [virtual] |
| std::string Node::DOTshape | ( | ) | const [virtual] |
| virtual std::string Dyninst::Node::format | ( | ) | const [pure virtual] |
Implemented in Dyninst::PhysicalNode, and Dyninst::VirtualNode.
Referenced by DOTname(), DOTrank(), and DOTshape().
| void Node::forwardClosure | ( | NodeIterator & | begin, | |
| NodeIterator & | end | |||
| ) |
Definition at line 87 of file Node.C.
References Dyninst::NodeSearchIterator::breadth, hasOutEdges(), Dyninst::NodeSearchIterator::out, and outs().
| Graph::Ptr Node::forwardSubgraph | ( | ) |
Definition at line 223 of file Node.C.
References Dyninst::NodeIterator::copy(), copy(), Dyninst::Graph::createGraph(), and outs_.
| bool Node::hasInEdges | ( | ) |
| bool Node::hasOutEdges | ( | ) |
| void Node::ins | ( | NodeIterator & | begin, | |
| NodeIterator & | end | |||
| ) |
Definition at line 55 of file Node.C.
References ins_, and Dyninst::NodeFromEdgeSet::source.
| void Node::ins | ( | EdgeIterator & | begin, | |
| EdgeIterator & | end | |||
| ) |
| virtual bool Dyninst::Node::isVirtual | ( | ) | const [pure virtual] |
Implemented in Dyninst::PhysicalNode, and Dyninst::VirtualNode.
| void Node::outs | ( | NodeIterator & | begin, | |
| NodeIterator & | end | |||
| ) |
Definition at line 62 of file Node.C.
References outs_, and Dyninst::NodeFromEdgeSet::target.
| void Node::outs | ( | EdgeIterator & | begin, | |
| EdgeIterator & | end | |||
| ) |
friend class Edge [friend] |
Reimplemented in Dyninst::VirtualNode.
friend class Graph [friend] |
Reimplemented in Dyninst::VirtualNode.
EdgeSet Dyninst::Node::ins_ [protected] |
Definition at line 101 of file Node.h.
Referenced by addInEdge(), backwardSubgraph(), deleteInEdge(), hasInEdges(), and ins().
const Address Node::INVALID_ADDR = (Address) -1 [static, protected] |
EdgeSet Dyninst::Node::outs_ [protected] |
Definition at line 104 of file Node.h.
Referenced by addOutEdge(), deleteOutEdge(), forwardSubgraph(), hasOutEdges(), and outs().
1.6.1