//
// Abstract base class for hash table functions: General interface for all hash tables
// William Garrison 11/21/98
//
#ifndef __HashTable__h
#define __HashTable__h
#include // They all need this
#define frac(x) ((x) - floor(x))
// Types for objects and key
typedef void * Object; // All hash tables contain Objects
typedef int Key; // Hash table keys are ints
// General conveniences
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif
//
// class HashTable
//
class HashTable {
public:
virtual void Insert(Key key, Object data) = 0; // Insert Object
virtual Object Search(Key key) = 0; // Find Object
virtual void PrintStats() = 0; // Print statistical information about run
};
#endif // ifdef __HashTable__h