8 #ifndef iteratorBase_H_
9 #define iteratorBase_H_
14 #include <vlutil/vlList.h>
15 #include <vlutil/vlPrint.h>
53 virtual unsigned int size()
const {
return myList.count(); }
87 DtWarn <<
"DtIteratorBase::reset() unexpected location specified." << std::endl;
114 DtListItem* item =
myList.first();
117 for (;item; item = item->next(), i++)
160 return (T*)(
myList.first()->data());
176 return (T*)(
myList.last()->data());
203 return (T*)item->data();
214 DtListItem* tmpCursor = 0;
241 return (T*)(
myList.last()->data());
257 return (T*)(
myList.first()->data());
277 DtListItem* tmpCursor = 0;
298 DtListItem* tmpCursor = 0;
316 DtListItem* tmpCursor = 0;
virtual bool reset(bool reverse=false)
Sets the cursor and the direction of this iterator over the list. If reverse is false, DtIteratorBeginning and DtIteratorForward are used, otherwise, DtIteratorEnd and DtIteratorReverse are used. Returns true unless the list is empty.
Definition: iteratorBase.h:65
virtual void setDirection(DtIteratorDirection direction)
Sets the direction of this iterator. The cursor is not moved.
Definition: iteratorBase.h:105
DtIteratorBase(const DtIteratorBase &orig)
Copy constructor.
Definition: iteratorBase.h:48
virtual T * last(bool move=true)
Definition: iteratorBase.h:334
const DtIteratorBase & operator=(const DtIteratorBase &orig)
Assignment Operator.
virtual T * current()
Definition: iteratorBase.h:330
virtual T * internalWrapPrev(bool move=true)
Definition: iteratorBase.h:309
DtIteratorBase(const DtList &list)
Constructor. Supply the DtList to be iterated over.
Definition: iteratorBase.h:45
virtual void reverse()
Reverses the direction if this iterator. The cursor is not moved.
Definition: iteratorBase.h:96
virtual DtListItem * cursor() const
Returns the current cursor. Use with caution.
Definition: iteratorBase.h:192
DtIteratorDirection myDirection
Definition: iteratorBase.h:345
T * operator*()
Definition: iteratorBase.h:186
virtual DtIteratorDirection direction()
Returns the current direction of the iterator.
Definition: iteratorBase.h:109
virtual T * internalCurrent() const
Returns the current vertex. The cursor is not moved.
Definition: iteratorBase.h:189
Definition: iteratorBase.h:19
T * operator--()
Definition: iteratorBase.h:339
Definition: iteratorBase.h:26
Definition: iteratorBase.h:25
virtual int cursorIndex() const
Returns current cursor index in list.
Definition: iteratorBase.h:112
Definition: iteratorBase.h:20
DtIteratorDirection
Definition: iteratorBase.h:23
Description: DtIteratorBase is the base class for iterators used to iterate over a DtList...
Definition: iteratorBase.h:32
virtual T * internalFirst(bool move=true)
Returns the first vertex in the list if going DtIteratorForward, and the last vertex if going DtItera...
Definition: iteratorBase.h:149
DtListItem * myCursor
Definition: iteratorBase.h:344
virtual T * wrapPrev(bool move=true)
Definition: iteratorBase.h:336
virtual T * prev(bool move=true)
Definition: iteratorBase.h:333
virtual bool empty() const
Definition: iteratorBase.h:57
virtual ~DtIteratorBase()
Definition: iteratorBase.h:50
virtual T * internalWrapNext(bool move=true)
If the cursor is 0, returns 0 (move is ignored in this case). Otherwise, returns the vertex at the ne...
Definition: iteratorBase.h:270
virtual T * first(bool move=true)
Definition: iteratorBase.h:331
virtual const DtList & list() const
Definition: iteratorBase.h:59
virtual bool reset(DtIteratorLocation location, DtIteratorDirection direction=DtIteratorForward)
Sets the cursor and the direction of this iterator over the list.
Definition: iteratorBase.h:73
virtual unsigned int size() const
Definition: iteratorBase.h:53
virtual T * next(bool move=true)
Definition: iteratorBase.h:332
const DtList & myList
Definition: iteratorBase.h:339
virtual void setCursorIndex(int i)
Definition: iteratorBase.h:128
DtIteratorLocation
Definition: iteratorBase.h:17
virtual T * internalPrev(bool move=true)
If the cursor is 0, returns 0 (move is ignored in this case). Otherwise, returns the vertex at the pr...
Definition: iteratorBase.h:294
T * operator++()
Definition: iteratorBase.h:338
virtual T * internalLast(bool move=true)
Returns the last vertex in the list if going DtIteratorForward, and the first vertex if going DtItera...
Definition: iteratorBase.h:230
virtual T * wrapNext(bool move=true)
Definition: iteratorBase.h:335
virtual T * itemToObject(DtListItem *item, bool move)
Definition: iteratorBase.h:194
virtual T * internalNext(bool move=true)
Definition: iteratorBase.h:209
T * operator->()
Definition: iteratorBase.h:185