Dyninst::NodeSearchIterator Class Reference

#include <NodeIterator.h>

Inheritance diagram for Dyninst::NodeSearchIterator:
Dyninst::NodeIteratorImpl

Public Types

enum  Type { depth, breadth }
enum  Direction { in, out }

Public Member Functions

virtual void inc ()
virtual void dec ()
virtual Node::Ptr get ()
virtual bool equals (NodeIteratorImpl *rhs)
virtual NodeIteratorImplcopy ()
 NodeSearchIterator ()
 NodeSearchIterator (Node::Ptr cur, Direction d, Type t)
 NodeSearchIterator (Node::Ptr cur, Direction d, Type t, std::deque< Node::Ptr > wl, std::set< Node::Ptr > v)
 NodeSearchIterator (NodeIterator &rangeBegin, NodeIterator &rangeEnd, Direction d, Type t)
virtual ~NodeSearchIterator ()
virtual bool equals (NodeIteratorImpl *)=0

Private Member Functions

bool end ()
void updateVisited (Node::Ptr &current)
void getNext (NodeIterator &begin, NodeIterator &end)
void updateWorklist (NodeIterator &begin, NodeIterator &end)
Node::Ptr popWorklist ()
void setToEnd ()

Private Attributes

Node::Ptr current
Direction direction
Type type
std::deque< Node::Ptrworklist
std::set< Node::Ptrvisited

Friends

class NodeIterator

Detailed Description

Definition at line 122 of file NodeIterator.h.


Member Enumeration Documentation

Enumerator:
in 
out 

Definition at line 129 of file NodeIterator.h.

Enumerator:
depth 
breadth 

Definition at line 126 of file NodeIterator.h.


Constructor & Destructor Documentation

Dyninst::NodeSearchIterator::NodeSearchIterator (  )  [inline]

Definition at line 199 of file NodeIterator.h.

Referenced by copy().

Dyninst::NodeSearchIterator::NodeSearchIterator ( Node::Ptr  cur,
Direction  d,
Type  t 
) [inline]

Definition at line 200 of file NodeIterator.h.

References current, end(), getNext(), updateVisited(), and updateWorklist().

Dyninst::NodeSearchIterator::NodeSearchIterator ( Node::Ptr  cur,
Direction  d,
Type  t,
std::deque< Node::Ptr wl,
std::set< Node::Ptr v 
) [inline]

Definition at line 206 of file NodeIterator.h.

Dyninst::NodeSearchIterator::NodeSearchIterator ( NodeIterator rangeBegin,
NodeIterator rangeEnd,
Direction  d,
Type  t 
) [inline]

Definition at line 209 of file NodeIterator.h.

References current, end(), getNext(), popWorklist(), updateVisited(), updateWorklist(), and worklist.

virtual Dyninst::NodeSearchIterator::~NodeSearchIterator (  )  [inline, virtual]

Definition at line 221 of file NodeIterator.h.


Member Function Documentation

virtual NodeIteratorImpl* Dyninst::NodeSearchIterator::copy (  )  [inline, virtual]

Implements Dyninst::NodeIteratorImpl.

Definition at line 195 of file NodeIterator.h.

References current, direction, NodeSearchIterator(), type, visited, and worklist.

virtual void Dyninst::NodeSearchIterator::dec (  )  [inline, virtual]

Implements Dyninst::NodeIteratorImpl.

Definition at line 175 of file NodeIterator.h.

bool Dyninst::NodeSearchIterator::end (  )  [inline, private]

Definition at line 225 of file NodeIterator.h.

References current.

Referenced by equals(), inc(), and NodeSearchIterator().

virtual bool Dyninst::NodeIteratorImpl::equals ( NodeIteratorImpl  )  [pure virtual, inherited]
virtual bool Dyninst::NodeSearchIterator::equals ( NodeIteratorImpl rhs  )  [inline, virtual]

Definition at line 183 of file NodeIterator.h.

References current, direction, end(), type, visited, and worklist.

virtual Node::Ptr Dyninst::NodeSearchIterator::get (  )  [inline, virtual]

Implements Dyninst::NodeIteratorImpl.

Definition at line 179 of file NodeIterator.h.

References current.

void Dyninst::NodeSearchIterator::getNext ( NodeIterator begin,
NodeIterator end 
) [inline, private]

Definition at line 238 of file NodeIterator.h.

References current, direction, in, and out.

Referenced by inc(), and NodeSearchIterator().

virtual void Dyninst::NodeSearchIterator::inc (  )  [inline, virtual]
Node::Ptr Dyninst::NodeSearchIterator::popWorklist (  )  [inline, private]

Definition at line 268 of file NodeIterator.h.

References worklist.

Referenced by inc(), and NodeSearchIterator().

void Dyninst::NodeSearchIterator::setToEnd (  )  [inline, private]

Definition at line 275 of file NodeIterator.h.

References current, visited, and worklist.

Referenced by inc().

void Dyninst::NodeSearchIterator::updateVisited ( Node::Ptr current  )  [inline, private]

Definition at line 230 of file NodeIterator.h.

References visited.

Referenced by inc(), and NodeSearchIterator().

void Dyninst::NodeSearchIterator::updateWorklist ( NodeIterator begin,
NodeIterator end 
) [inline, private]

Definition at line 251 of file NodeIterator.h.

References breadth, depth, type, visited, and worklist.

Referenced by inc(), and NodeSearchIterator().


Friends And Related Function Documentation

friend class NodeIterator [friend]

Reimplemented from Dyninst::NodeIteratorImpl.

Definition at line 123 of file NodeIterator.h.


Field Documentation

Definition at line 281 of file NodeIterator.h.

Referenced by copy(), end(), equals(), get(), getNext(), inc(), NodeSearchIterator(), and setToEnd().

Definition at line 282 of file NodeIterator.h.

Referenced by copy(), equals(), and getNext().

Definition at line 283 of file NodeIterator.h.

Referenced by copy(), equals(), and updateWorklist().

Definition at line 285 of file NodeIterator.h.

Referenced by copy(), equals(), setToEnd(), updateVisited(), and updateWorklist().


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1