Computer Science/C & C++

[C++11] Standard Template Library: <unordered_map> | 표준 템플릿 라이브러리: <unordered_map>

lww7438 2023. 6. 16. 18:21

Standard Template Library: <unordered_map>

 

표준 템플릿 라이브러리: <unordered_map>

 

 

 

unordered_map Properties

 

- <unordered_map > 는 아래와 같이 정의할 수 있다:

 

  1. Associative

  2. Unordered

  3. Map

  4. Unique keys

  5. Allocator-aware
    - 메모리 공간을 동적으로 관리하기 위해 allocator 를 사용한다.

 


<unordered_map> Summary (<unordered_map>  요약)

 

Template parameters

 

  • Key
  • T
  • Hash
  • Pred
  • Alloc

 

Member Types

 

  • key_type
  • mapped_type
  • value_type
  • hasher
  • key_equal
  • allocater_type
  • reference
  • const_reference
  • pointer
  • const_pointer
  • iterator
  • const_iterator
  • local_iterator
  • const_local_iterator
  • size_type
  • difference_type

 

Member Functions : Constructors and Destructor

 

  • Constructor : unordered_map<Key, T> ()
    - Empty Container Constructor (Defalut Constructor)
     
  • Destructor
     
  • operator=

 

Member Functions : Capacity

 

  • bool empty ()
    - size() 값이 0인지에 대한 여부를 반환
     
  • size_type size()
    - 컨테이너에 저장된 원소의 개수를 반환
     
  • size_type max_size()
    - 컨테이너가 저장할 수 있는 최대 원소 개수를 반환

 

Member Functions : Iterators

 

  • iterator begin()
    - 첫 번째 원소를 가리키는 iterator를 반환
     
  • iterator end()
    - 마지막 원소 그 다음 메모리 공간(past-the-end)을 가리키는 iterator를 반환
     
  • const_iterator cbegin()
    - 첫 번째 원소를 가리키는 const_iterator를 반환
     
  • const_iterator cend()
    - 마지막 원소 그 다음 메모리 공간(past-the-end)을 가리키는 const_iterator를 반환

 

Member Functions : Element Access

 

  • mapped_type& operator[] ( const key_type& k )
    - 키 값 k에 대응되는 값을 반환
     
  • mapped_type& at ( const key_type& k )
    - 키 값 k에 대응되는 값을 반환
    - 키 값 k에 대응되는 값이 없을 경우, out_of_range 예외를 throw

 

Member Functions : Element Lookup

 

  • iterator find ( const key_type& k )
    - 키 값 k에 대응되는 key:value Pair를 가리키는 iterator를 반환
    - 탐색에 실패한 경우, unordered_map::end를 반환
     
  • size_type count ( const key_type& k )
    - 키 값 k에 대응되는 value들의 개수를 반환 (1 또는 0)
      (<unordered_map>은 key의 중복을 허용하지 않는다.)
     
  • pair<iterator, iterator> equal_range ( const key_type& k )
    - 키 값 k에 대응되는 value들이 저장된 공간의 영역의 시작 iterator와 끝 iterator를 반환
      (<unordered_map>은 key의 중복을 허용하지 않으므로, 반환되는 영역 내 원소의 개수는 최대 한 개 이다.)

 

Member Functions : Modifiers

 

  • emplace ( Args&&... args )
     
  • emplace_hint
     
  • void insert ( pair<Key, T> )
    <Key : T> Pair를 컨테이너에 삽입
     
  • size_type erase ( const key_type& k )
    - 키 값 k에 대응되는 <Key : T> Pair를 컨테이너에서 제거하고, 삭제한 원소의 개수를 반환 (1 또는 0)
     
  • void clear ()
    - 컨테이너를 Drop
     
  • void swap (unordered_map& ump )
    - this와 ump를 서로 맞바꿈

 

Member Functions : Buckets

 

  • bucket_count
  • max_bucket_count
  • bucket_size
  • bucket

 

Member Functions : Hash Policy

 

  • load_factor
  • max_load_factor
  • rehash
  • reserve

 

Member Functions : Observers

 

  • hash_function
  • key_eq
  • get_allocator

 

Non-Member Function Overloads

 

  • operators (unordered_map)
  • swap (unordered_map)

 


Reference: cplusplus.com, Reference : <unordered_map>, URL, 2023년 6월 16일 검색