enum Status { EMPTY, USED, FREE }; // table entry status struct HashEntry : public Item<Key, Element> { // a hash table entry Status status; // entry status HashEntry(const Key& k = Key(), // constructor const Element& e = Element(), Status st = EMPTY) : Item<Key,Element>(k, e), status(st) { } }; typedef HashEntry* EntryPtr; // pointer to an entry