template<typename T_key,typename T_value> class map{
map();
map(const map@ other);
map& opAssign(const map@ other);
map& swap(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 map_iterator<T> &in iterator);
int erase(const map_iterator<T> &in iterator_range_begin, const 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);
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);
map_iterator<T> begin();
map_iterator<T> end();
bool contains(T_key &in key);
};