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.\n");
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.
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
virtual const DtList & list()
Definition: iteratorBase.h:59
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).
Definition: iteratorBase.h:270
virtual T * first(bool move=true)
Definition: iteratorBase.h:331
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).
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