You've taken on a fair challenge here:
(a) you need to first provide your own implementation of the hash table, my_hashset, which, by the look of it, corresponds to the standard library's unordered set (unique elements only) or unordered multiset (non-unique elements OK)
(b) at the very least, provide your own hash function to implement your hash table - this is currently not provided. You can open up the unordered_set header file to see what additionals might be required, you might need a (friend) swap() method as well:
http://stackoverflow.com/questions/7758580/writing-your-own-stl-container/7759622
(c) for custom iterators you should provide both iterator and const_iterator and if you wish to make them standard library compliant derive your custom iterator classes from std::iterator with the following typedefs:
(d) for the iterator classes you'll then have to provide the operator overloads for de-reference, in-direction, pre & post increment, == , !=
(e) finally, back at the container level, provide begin(), end(), cbegin(), cend()
Good luck!!