![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: recStmtIter.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00017 00018 #ifndef DtRecursiveSimStatementIterator_H_ 00019 #define DtRecursiveSimStatementIterator_H_ 00020 00021 #include <vlutil/vlList.h> 00022 00023 class DtSimStatement; 00024 class DtSimBlock; 00025 class DtRecursiveSimBlockIterator; 00026 00034 #include "vrfplan/vrfplanDefines.h" 00035 class DT_DLL_vrfplan DtRecursiveSimStatementIterator 00036 { 00037 00038 protected: 00040 DtRecursiveSimStatementIterator(); 00041 00042 public: 00046 DtRecursiveSimStatementIterator(DtSimStatement* statement); 00047 00049 DtRecursiveSimStatementIterator( 00050 const DtRecursiveSimStatementIterator& orig); 00051 00053 const DtRecursiveSimStatementIterator& operator=( 00054 const DtRecursiveSimStatementIterator& orig); 00055 00057 virtual ~DtRecursiveSimStatementIterator(); 00058 00059 DtRecursiveSimStatementIterator* clone() const; 00060 00063 virtual DtSimStatement* first(bool reset = true); 00064 00066 virtual DtSimStatement* current() const; 00067 00070 virtual DtSimStatement* next(); 00071 00074 virtual void reset(); 00075 00077 virtual int cursor() const; 00078 00080 virtual DtSimStatement* statement() const; 00081 00083 virtual DtSimStatement* parentStatement() const; 00084 00086 virtual int parentSubBlockIndex() const; 00087 00092 virtual void setParentIterator(DtRecursiveSimBlockIterator* parentIterator); 00093 virtual DtRecursiveSimBlockIterator* parentIterator() const; 00094 00095 protected: 00096 int myCursor; 00097 DtSimStatement* myStatement; 00098 DtRecursiveSimBlockIterator* myChildIterator; 00099 DtRecursiveSimBlockIterator* myParentIterator; 00100 }; 00101 00102 #endif