#ifndef __HANDLEMAP_HPP #define __HANDLEMAP_HPP template class HandleMap { public: HandleMap(); virtual ~HandleMap(); unsigned long insert(T t); unsigned long queryHandle(T t); unsigned long returnHandle(T t); T queryThing(unsigned long handle); void remove(T t); private: struct entry { unsigned long handle; T thing; entry *next; }; entry *firstEntry; unsigned long nextHandle; }; #include "handlemap.cpp" #endif