Map


mapはバイナリナビゲーションツリーで実現
keyとvalue構成>>std::pair(実装)の使用
template < class Key, class T, class Compare = less<Key>, 
           class Alloc = allocator<pair<const Key,T> > > class map;

< class > compare


関数オブジェクトを提供し、キー値を比較してhash mapの要素を比較することで、hash mapの相対順序を決定できます.

std::less< T >


2つのパラメータを受け入れて、左側が右側より小さいかどうかtrue falseを返します.

メンバーのタイプ



private

  • tree_type
  • self
  • tree
  • n.関数


    construct

    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);

    destructor

    ~map();

    operator=

    map& operator= (const map& x);

    - Iterators


    begin / end / rbegin / rend

    iterator OOO();
    const_iterator OOO() const;

    - Capacity


    size

    size_type size() const;
    => return (len)

    max_size

    size_type max_size() const;
    return (numeric_limits<difference_type>::max() / sizeof(T))

    empty

    bool empty() const;
    return (this->len == 0)

    - Element access


    operator[]

    mapped_type& operator[] (const key_type& k);

    - Modifiers


    insert

    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);

    erase

    void erase (iterator position);	
    size_type erase (const key_type& k);
    void erase (iterator first, iterator last);

    swap

    void swap (map& x);

    clear

    void clear();

    - Observers


    key_comp

    key_compare key_comp() const;

    value_comp

    value_compare key_comp() const;

    - Operations


    find

          iterator find (const key_type& k);
    const_iterator find (const key_type& k) const;

    count

    size_type count (const key_type& k) const;

    lower_bound / upper_bound

    iterator OOO_bound (const key_type& k);
    const_iterator OOO_bound (const key_type& k) const;

    equal_range

    pair<const_iterator,const_iterator> equal_range (const key_type& k) const;
    pair<iterator,iterator>             equal_range (const key_type& k);