HashTable::Iterator Class Reference

#include <HashTable.hh>

Inheritance diagram for HashTable::Iterator:

Inheritance graph
[legend]

Public Member Functions

virtual ~Iterator ()
virtual void * next (char const *&key)=0

Static Public Member Functions

static Iteratorcreate (HashTable &hashTable)

Protected Member Functions

 Iterator ()

Detailed Description

Definition at line 44 of file HashTable.hh.


Constructor & Destructor Documentation

HashTable::Iterator::~Iterator (  )  [virtual]

Definition at line 31 of file HashTable.cpp.

00031 {}

HashTable::Iterator::Iterator (  )  [protected]

Definition at line 28 of file HashTable.cpp.

00028                             {
00029 }


Member Function Documentation

HashTable::Iterator * HashTable::Iterator::create ( HashTable hashTable  )  [static]

Definition at line 122 of file BasicHashTable.cpp.

References BasicHashTable::Iterator.

Referenced by RTCPMemberDatabase::reapOldMembers(), and HashTable::RemoveNext().

00122                                                                  {
00123   // "hashTable" is assumed to be a BasicHashTable
00124   return new BasicHashTable::Iterator((BasicHashTable&)hashTable);
00125 }

void * BasicHashTable::Iterator::next ( char const *&  key  )  [pure virtual]

Implemented in BasicHashTable::Iterator.

Definition at line 102 of file BasicHashTable.cpp.

References BasicHashTable::TableEntry::fNext, BasicHashTable::TableEntry::key, NULL, and BasicHashTable::TableEntry::value.

00102                                                    {
00103   while (fNextEntry == NULL) {
00104     if (fNextIndex >= fTable.fNumBuckets) return NULL;
00105 
00106     fNextEntry = fTable.fBuckets[fNextIndex++];
00107   }
00108 
00109   BasicHashTable::TableEntry* entry = fNextEntry;
00110   fNextEntry = entry->fNext;
00111   
00112   key = entry->key;
00113   return entry->value;
00114 }


The documentation for this class was generated from the following files:
Generated on Tue Jul 22 06:40:40 2008 for live by  doxygen 1.5.2