Narzędzia użytkownika

Narzędzia witryny


opis_kontenera_hash_multimap

Opis kontenera hash_multimap

Autor: Grzegorz Mroziewicz

hash_multimap<Key, Data, HashFcn, EqualKey, Alloc>

Kontener hash_multimap jest mapą służącą do przechowywania par obiektów klucz-wartość. Wartość klucza Key nie musi być unikalna. Kontener pozwala przechowywać wiele elementów o zadanym kluczu oraz udostępnia metody do wyszukiwania i zliczania elementów o podanym kluczu. Wykorzystaniu funkcji mieszającej HashFcn pozwala osiągnąć lepszą złożoność czasową wyszukiwania elementów w mapie.

Typy szablonu

NazwaOpis
KeyTyp klucza dla pary elementów kontenera.
DataTyp wartości dla pary elementów kontenera.
HashFcnFunkcja mieszająca ( hash<Key> ).
EqualKey Funktor określający czy klucze są sobie równe ( equal_to<Key> ).
Alloc Allokator pamięci.

Opis metod

Kontruktory

  • hash_multimap() : kontruktor domyślny
  • hash_multimap(size_type n) : konstruktor ze wskazanie ilości pojemników mapy n
  • hash_multimap(size_type n, const hasher& h) : konstruktor ze wskazanie ilości pojemników mapy n i funkcji mieszającej h
  • hash_multimap(size_type n, const hasher& h, const key_equal& k) : konstruktor ze wskazanie ilości pojemników mapy n, funkcji mieszającej h i binarnego predykatu do porównywania kluczy k
  • hash_multimap(const hash_multimap&) : konstruktor kopiujący
  • template <class InputIterator> hash_multimap(InputIterator, InputIterator) : konstruktor inicjujący mapę kolekcją określoną przez iteratory wskazujące na jej początek i koniec
  • template <class InputIterator> hash_multimap(InputIterator, InputIterator, size_type n)
  • template <class InputIterator> hash_multimap(InputIterator, InputIterator, size_type n, const hasher& h)
  • template <class InputIterator> hash_multimap(InputIterator, InputIterator, size_type n, const hasher& h, const key_equal& k)

Dodawanie elementów

  • iterator insert(const value_type& x) - Wstawia element x
  • template <class InputIterator> void insert(InputIterator, InputIterator) - Wstawia kolekcję zdefiniowaną przez iteratory wskazujące na jej początek i koniec

Usuwanie elementów

  • void erase(iterator pos) : Usuwa element wskazany przez iterator pos
  • size_type erase(const key_type& k) : Usuwa elementy identyfikowane kluczem k
  • void erase(iterator first, iterator last) : Usuwa elementy z zakresu wskazanego iteratorami first - last
  • void clear() : Czyści kolekcję

Wyszukiwanie elementów

  • const_iterator find(const key_type& k) const : Zwraca iterator wskazujący na element o kluczu k
  • iterator find(const key_type& k) : Zwraca iterator wskazujący na element o kluczu k
  • pair<const_iterator, const_iterator> equal_range(const key_type& k) const : Zwraca parę iteratorów wskazujących na kolekcję elementów o kluczu k
  • pair<iterator, iterator> equal_range(const key_type& k) : Zwraca parę iteratorów wskazujących na kolekcję elementów o kluczu k
  • size_type count(const key_type& k) const : Zwraca liczbę elementów kolekcji identyfikowanych kluczem k

Parametry kontenera

  • size_type size() const : Zwraca aktualny rozmiar mapy
  • size_type max_size() const : Zwraca maksymalny dozwolony rozmiar mapy
  • bool empty() const : Zwraca wartość true gdy mapa jest pusta
  • size_type bucket_count() const : Zwraca ilość pojemników mapy
  • void resize(size_type n) : Zmienia rozmiar pojemnika na wartość n
  • hasher hash_funct() const : Zwraca obiekt udostepniający funkcję mieszającą mapy
  • key_equal key_eq() const : Zwraca obiekt udostępniający binarny predykat używany do porównywania kluczy

Inne

  • void swap(hash_multimap&) : Zamienia zawartość dwóch kontenerów
Przykładowy program
opis_kontenera_hash_multimap.txt · ostatnio zmienione: 2008/12/13 03:45 przez gmroziew