map은 이진탐색 트리로 구현됨
key와 value로 구성됨 >> std::pair사용(구현)
template < class Key, class T, class Compare = less<Key>,
class Alloc = allocator<pair<const Key,T> > > class map;
키 값 비교를 통해 hash_map의 요소를 비교하여 hash_map 내의 상대 순서를 확인할 수 있는 함수 개체를 제공합니다.
두개의 인자를 받아 왼쪽이 오른쪽보다 작은지를 true false 로 반환한다.
map (const key_compare& comp = key_compare(),
const allocator_type& alloc = allocator_type());
template <class InputIterator>
map (InputIterator first, InputIterator last,
const key_compare& comp = key_compare(),
const allocator_type& alloc = allocator_type());
map (const map& x);
~map();
map& operator= (const map& x);
iterator OOO();
const_iterator OOO() const;
size_type size() const;
=> return (len)
size_type max_size() const;
return (numeric_limits<difference_type>::max() / sizeof(T))
bool empty() const;
return (this->len == 0)
mapped_type& operator[] (const key_type& k);
pair<iterator,bool> insert (const value_type& val);
iterator insert (iterator position, const value_type& val);
template <class InputIterator>
void insert (InputIterator first, InputIterator last);
void erase (iterator position);
size_type erase (const key_type& k);
void erase (iterator first, iterator last);
void swap (map& x);
void clear();
key_compare key_comp() const;
value_compare key_comp() const;
iterator find (const key_type& k);
const_iterator find (const key_type& k) const;
size_type count (const key_type& k) const;
iterator OOO_bound (const key_type& k);
const_iterator OOO_bound (const key_type& k) const;
pair<const_iterator,const_iterator> equal_range (const key_type& k) const;
pair<iterator,iterator> equal_range (const key_type& k);