Member Functions |
container() key() operator()() operator++() reset() |
#include <rw/tvhasht.h> RWTValHashTable<T> table; RWTValHashTableIterator<T> iterator(table);
If you do not have the Standard C++ Library, use the interface described here. Otherwise, use the interface to RWTValHashMultiSetIterator described in the Class Reference.
Iterator for class RWTValHashTable<T>, allowing sequential access to all the elements of a hash table. Elements are not accessed in any particular order.
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.
None
#include<rw/tvhasht.h> #include<iostream.h> #include<rw/cstring.h> int main(){ RWTValHashTable<RWCString> age(RWCString::hash); RWTValHashTableIterator<RWCString> itr(age); age.insert("John"); age.insert("Steve"); age.insert("Mark"); age.insert("Steve"); for(;itr();) cout << itr.key() << endl; return 0; } Program Output (not necessarily in this order) John Steve Mark Steve
RWTValHashTableIterator(RWTValHashTable<T>& c);
Constructs an iterator to be used with the table c.
RWBoolean operator++();
Advances the iterator one position. Returns TRUE if the new position is valid, FALSE otherwise.
RWBoolean operator()();
Advances the iterator one position. Returns TRUE if the new position is valid, FALSE otherwise.
RWTValHashTable<T>* container() const;
Returns a pointer to the collection over which this iterator is iterating.
T key() const;
Returns the value at the iterator's current position. The results are undefined if the iterator is no longer valid.
void reset();
Resets the iterator to the state it had immediately after construction.
void reset(RWTValHashTable<T>& c);
Resets the iterator to iterate over the collection c.