summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2006-07-12 08:14:08 +0000
committerMike Buland <eichlan@xagasoft.com>2006-07-12 08:14:08 +0000
commit74f94e9b20c93b93ad8b9091474f6368fc79c697 (patch)
tree8840579769cb6d5796cc7e43fd239ffae39c8901
parentb962c402b461e3249a1ee726ab3a33f019baecbf (diff)
downloadlibbu++-74f94e9b20c93b93ad8b9091474f6368fc79c697.tar.gz
libbu++-74f94e9b20c93b93ad8b9091474f6368fc79c697.tar.bz2
libbu++-74f94e9b20c93b93ad8b9091474f6368fc79c697.tar.xz
libbu++-74f94e9b20c93b93ad8b9091474f6368fc79c697.zip
Added a clear function to the hashtable. How we made it this long without is
beyond me...
-rw-r--r--src/hashtable.cpp5
-rw-r--r--src/hashtable.h7
2 files changed, 12 insertions, 0 deletions
diff --git a/src/hashtable.cpp b/src/hashtable.cpp
index d3f9f26..8a31f57 100644
--- a/src/hashtable.cpp
+++ b/src/hashtable.cpp
@@ -31,6 +31,11 @@ void HashTable::set( int j, const void *newID, const void *newData )
31 aTable[j].data = newData; 31 aTable[j].data = newData;
32} 32}
33 33
34void HashTable::clear()
35{
36 memset( aTable, 0, sizeof(HashNode) * nTableSize );
37}
38
34bool HashTable::isFilled( int j ) 39bool HashTable::isFilled( int j )
35{ 40{
36 return (aTable[j].id != NULL)||(aTable[j].bDeleted); 41 return (aTable[j].id != NULL)||(aTable[j].bDeleted);
diff --git a/src/hashtable.h b/src/hashtable.h
index d14be71..b015107 100644
--- a/src/hashtable.h
+++ b/src/hashtable.h
@@ -175,6 +175,13 @@ public:
175 */ 175 */
176 bool del( const void *id, int nSkip=0 ); 176 bool del( const void *id, int nSkip=0 );
177 177
178 /**
179 * Deletes every entry in the hash table. See the notes on del to see what
180 * this means, except that since no data is being kept, the entire table is
181 * just marked as usable space.
182 */
183 void clear();
184
178private: 185private:
179 /** 186 /**
180 * Contains info related to a position in the hashtable. Used for 187 * Contains info related to a position in the hashtable. Used for