VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
DtRecursiveSimBlockIterator Class Reference

Iterator for iterating over a DtRwIntrusiveList of DtSimStatements and all its descendants (as represented by each DtSimStatement's list of DtSimBlock subblocks). This iterator performs an pre-order iteration over the 'forest' that represents the DtSimBlock's descendants.

Public Member Functions

 DtRecursiveSimBlockIterator (DtSimBlock *simBlock)
 
 DtRecursiveSimBlockIterator (const DtRecursiveSimBlockIterator &orig)
 
const DtRecursiveSimBlockIteratoroperator= (const DtRecursiveSimBlockIterator &orig)
 
virtual ~DtRecursiveSimBlockIterator ()
 
DtRecursiveSimBlockIteratorclone () const
 
virtual DtSimStatementfirst (bool reset=true)
 
virtual DtSimStatementcurrent () const
 
virtual DtSimStatementnext ()
 
virtual void reset ()
 
virtual DtSimStatementcursor () const
 
virtual DtSimStatementparentStatement () const
 
virtual int parentSubBlockIndex () const
 
virtual void setParentIterator (DtRecursiveSimStatementIterator *parentIterator)
 
virtual
DtRecursiveSimStatementIterator
parentIterator () const
 
void setVisitedTriggers (const std::set< DtString > &s)
 
virtual DtSimStatementinternalNext ()
 

Protected Member Functions

 DtRecursiveSimBlockIterator ()
 

Protected Attributes

DtSimStatementmyCursor
 
DtSimBlockmyList
 
DtRecursiveSimStatementIteratormyChildIterator
 
DtRecursiveSimStatementIteratormyParentIterator
 
std::set< DtStringmyVisitedTriggers
 

Constructor & Destructor Documentation

DtRecursiveSimBlockIterator::DtRecursiveSimBlockIterator ( )
protected

Default Constructor. Do not use.

DtRecursiveSimBlockIterator::DtRecursiveSimBlockIterator ( DtSimBlock simBlock)

Constructor. simBlock is the DtSimBlock whose statements are to be iterated over.

DtRecursiveSimBlockIterator::DtRecursiveSimBlockIterator ( const DtRecursiveSimBlockIterator orig)

Copy Constructor.

virtual DtRecursiveSimBlockIterator::~DtRecursiveSimBlockIterator ( )
virtual

Destructor.

Member Function Documentation

const DtRecursiveSimBlockIterator& DtRecursiveSimBlockIterator::operator= ( const DtRecursiveSimBlockIterator orig)

Assignment Operator.

DtRecursiveSimBlockIterator* DtRecursiveSimBlockIterator::clone ( ) const
virtual DtSimStatement* DtRecursiveSimBlockIterator::first ( bool  reset = true)
virtual

Calls reset() if reset arg is true (useful for for() loops). Returns the first object on the list.

virtual DtSimStatement* DtRecursiveSimBlockIterator::current ( ) const
virtual

returns the current object. List index is unmodified.

virtual DtSimStatement* DtRecursiveSimBlockIterator::next ( )
virtual

moves the index to the next position and returns the object at that position in the list. Returns null if already at the end of list.

virtual void DtRecursiveSimBlockIterator::reset ( )
virtual

sets the current pointer to the start of the list. Normally this isn't needed if you use the standard for loop syntax.

virtual DtSimStatement* DtRecursiveSimBlockIterator::cursor ( ) const
virtual

get a pointer to the cursor. Use with care.

virtual DtSimStatement* DtRecursiveSimBlockIterator::parentStatement ( ) const
virtual

set/get a pointer to the current statement's parent statement. Accessor is recursive. If currently iterating over a child (myChildIterator exists), invokes child iterator's parentStatement() method. Otherwise, returns myParentStmt.

virtual int DtRecursiveSimBlockIterator::parentSubBlockIndex ( ) const
virtual

set/get index of parent subblock in which the current statement resides. Accessor is recursive. If currently iterating over a child (myChildIterator exists), invokes child iterator's subBlockIndex() method. Otherwise, returns myParentSubBlockIndex.

virtual void DtRecursiveSimBlockIterator::setParentIterator ( DtRecursiveSimStatementIterator parentIterator)
virtual

set/get parent iterator. parentIterator is the iterator over our parent statement. Should be NULL in the case that simBlock is the top-level block in a plan. parentIterator is the iterator that created us.

virtual DtRecursiveSimStatementIterator* DtRecursiveSimBlockIterator::parentIterator ( ) const
virtual
void DtRecursiveSimBlockIterator::setVisitedTriggers ( const std::set< DtString > &  s)
inline
virtual DtSimStatement* DtRecursiveSimBlockIterator::internalNext ( )
virtual

Member Data Documentation

DtSimStatement* DtRecursiveSimBlockIterator::myCursor
protected
DtSimBlock* DtRecursiveSimBlockIterator::myList
protected
DtRecursiveSimStatementIterator* DtRecursiveSimBlockIterator::myChildIterator
protected
DtRecursiveSimStatementIterator* DtRecursiveSimBlockIterator::myParentIterator
protected
std::set<DtString> DtRecursiveSimBlockIterator::myVisitedTriggers
protected

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

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)