
| 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.