Member Functions | |
container() findNext() insertAfterPoint() key() operator()() operator++() operator+=() operator--() operator-=() remove() |
removeNext() reset() |
#include <rw/tvdlist.h> RWTValDlist<T> list; RWTValDlistIterator<T> iterator(list);
If you do not have the Standard C++ Library, use the interface described here. Otherwise, use the interface to RWTValDlistIterator described in the Class Reference.
Iterator for class RWTValDlist<T>, allowing sequential access to all the elements of a doubly-linked parameterized list. Elements are accessed in order, in either direction.
Like all Rogue Wave iterators, the "current item" is undefined immediately after construction -- you must define it by using operator() or some other (valid) operation.
Once the iterator has advanced beyond the end of the collection it is no longer valid -- continuing to use it will bring undefined results.
Isomorphic
#include<rw/tvdlist.h> #include<iostream.h> #include<rw/cstring.h> int main(){ RWTValDlist<RWCString> a; RWTValDlistIterator<RWCString> itr(a); a.insert("John"); a.insert("Steve"); a.insert("Mark"); a.insert("Steve"); for(;itr();) cout << itr.key() << endl; return 0; } Program Output John Steve Mark Steve
RWTValDlistIterator<T>(RWTValDlist<T>& c);
Constructs an iterator to be used with the list c.
RWBoolean operator++();
Advances the iterator to the next item and returns TRUE. When the end of the collection is reached, returns FALSE and the position of the iterator will be undefined.
RWBoolean operator--();
Retreats the iterator to the previous item and returns TRUE. When the beginning of the collection is reached, returns FALSE and the position of the iterator will be undefined.
RWBoolean operator+=(size_t n);
Advances the iterator n positions and returns TRUE. When the end of the collection is reached, returns FALSE and the position of the iterator will be undefined.
RWBoolean operator-=(size_t n);
Retreats the iterator n positions and returns TRUE. When the beginning of the collection is reached, returns FALSE and the position of the iterator will be undefined.
RWBoolean operator()();
Advances the iterator to the next item. Returns TRUE if the new position is valid, FALSE otherwise.
RWTValDlist<T>* container() const;
Returns a pointer to the collection over which this iterator is iterating.
RWBoolean findNext(const T& a);
Advances the iterator to the first element that is equal to a and returns TRUE, or FALSE if there is no such element. Equality is measured by the class-defined equality operator for type T.
RWBoolean findNext(RWBoolean (*testFun)(const T&, void*), void*);
Advances the iterator to the first element for which the tester function pointed to by testFun returns TRUE and returns TRUE, or FALSE if there is no such element.
void insertAfterPoint(const T& a);
Inserts the value a into the iterator's associated collection in the position immediately after the iterator's current position.
T key() const;
Returns the value at the iterator's current position. The results are undefined if the iterator is no longer valid.
RWBoolean remove();
Removes the value from the iterator's associated collection at the current position of the iterator. Returns TRUE if successful, FALSE otherwise. Afterwards, if successful, the iterator will be positioned at the element immediately before the removed element.
RWBoolean removeNext(const T& a);
Advances the iterator to the first element that is equal to a and removes it. Returns TRUE if successful, FALSE otherwise. Equality is measured by the class-defined equality operator for type T. Afterwards, if successful, the iterator will be positioned at the element immediately before the removed element.
RWBoolean removeNext(RWBoolean (*testFun)(const T&, void*), void*);
Advances the iterator to the first element for which the tester function pointed to by testFun returns TRUE and removes it. Returns TRUE if successful, FALSE otherwise. Afterwards, if successful, the iterator will be positioned at the element immediately before the removed element.
void reset();
Resets the iterator to the state it had immediately after construction.
void reset(RWTValDlist<T>& c);
Resets the iterator to iterate over the collection c.