template<typename T> class unordered_set{
unordered_set();
unordered_set(unordered_set &in other);
unordered_set& opAssign(unordered_set &in other);
void SetDirectcomp(bool yesno);
int size();
void clear();
bool empty();
void insert(T &in value);
void erase(T &in value);
bool contains(T &in value);
unordered_set_iterator<T> begin();
unordered_set_iterator<T> end();
bool erase(const unordered_set_iterator<T> &in iterator);
int erase(const unordered_set_iterator<T> &in iterator_range_begin, const unordered_set_iterator<T> &in iterator_range_end);
unordered_set_iterator<T> find_iterator(const T &in value);
};