template class CCL::HashTable
#include <hashtable.h>
template <class T, class TList = LinkedList <T>>
class HashTable
{
public:
// typedefs
typedef int (*HashFunc)(
const T &data,
int size
);
// construction
HashTable (int size, HashFunc hashFunc = hashInt);
HashTable (const HashTable <T, TList>& other);
HashTable (HashTable <T, TList>&& other);
// methods
HashTable <T, TList>& operator = (const HashTable <T, TList>& other);
void add (T data);
bool remove (T data);
void removeAll ();
bool isEmpty () const;
int count () const;
const T& lookup (const T& data) const;
bool contains (const T& data) const;
int getSize () const;
TList& getList (int index);
const TList& getList (int index) const;
};