template<typename T_key,typename T_value> class unordered_map{
unordered_map();
unordered_map(const unordered_map@ other);
unordered_map& opAssign(const unordered_map@ other);
unordered_map& swap(unordered_map &inout other);
void SetDirectcomp(bool yesno);
int size();
void clear();
bool empty();
void insert(T_key &in key,T_value &in value);
void erase(T_key &in key);
bool erase(const unordered_map_iterator<T> &in iterator);
int erase(const unordered_map_iterator<T> &in iterator_range_begin, const unordered_map_iterator<T> &in iterator_range_end);
T_value& find(const T_key &in key);
T_value& find(const T_key &in key,bool &out success);
unordered_map_iterator<T> find_iterator(const T &in key);
const T_value& get_opIndex(const T_key &in) const;
void set_opIndex(const T_key&in,const T_value&in);
unordered_map_iterator<T> begin();
unordered_map_iterator<T> end();
bool contains(T_key &in key);
};