Autor:Marian Szczykulski
Hash_set jest to zbiór, korzystający z funkcji mieszającej do szybkiego wyszukiwania elementów.
Szablon zbioru hash_set (kompilator GNU g++) jest następujący:
| hash_set<Key,HashFcn, EqualKey, Alloc> | |
|---|---|
| Key | Typ przechowywanych obiektów |
| HashFcn | Funkcja mieszająca (jest to funktor). Domyślnie hash<Key> |
| EqualKey | Funktor do porównywania dwóch obiektów. Domyślnie equal_to<Key> |
| Alloc | Alokator do zarządzania pamięcią. Domyślnie alloc |
Dla kompilatora Visual Studio (2008) szablon ten wygląda inaczej.
| hash_set<Key,hash_compare,Alloc> | |
|---|---|
| Key | Typ przechowywanych objektów |
| hash_compare | Jest to funktor który zawiera w sobie zarówno funkcje hashujaca jak i tą do porównywania dwóch objektów. Domyślnie hash_compare<Key , less<Key> |
| Alloc | Alokator do zarządzania pamięcią.Domyślnie allocator<Key> |
| Nazwa | Opis |
|---|---|
| iterator begin() const | Zwraca iterator wskazujący na początek zbioru hash_set |
| iterator end() const | Zwraca iterator wskazający na koniec zbioru hash_set |
| size_type size() const | Zwraca rozmiar zbioru |
| size_type max_size() const | Zwraca największy możliwy rozmiar zbioru |
| bool empty() const | Zwraca tru jeżeli rozmiar zbioru jest równy zero |
| size_type bucket_count() const | Zwraca liczbę koszyków uzywanych przez zbiór hash_set |
| void resize(size_type n) | Zwiększa liczbę koszyków do conajmniej n |
| hasher hash_funct() const | Zwraca objekt(funktor) mieszający używany przez zbiór hash_set |
| key_equal key_eq() const | Zwraca objekt(funktor) służący do porównywania objektów, używany przez zbiór hash_set |
| hash_set& operator=(const hash_set&) | Operator przypisania. |
| void swap(hash_set&) | Zamienia zawartości dwóch zbiorów hash_set. |
| pair<iterator, bool> insert(const value_type& x) | Wstawia x do zbioru hash_set. |
| template <class InputIterator>void insert(InputIterator f, InputIterator l) | Wstawia do zbioru hash_set podany zakres objektów (zakres podany za pomoca iteratorów) |
| void erase(iterator pos) | Usuwa element wskazywany przez iterator pos |
| size_type erase(const key_type& k) | Usuwa element o wartości klucza równej k |
| void erase(iterator first, iterator last) | Usuwa podany zakres objektów |
| void clear() | Usuwa cały zbiór |
| iterator find(const key_type& k) const | Znajduje element o kluczu równym k |
| size_type count(const key_type& k) const | Zlicza liczbę elementów, których klucz jest równy k. |
| pair<iterator, iterator> equal_range(const key_type& k) const | Znajduje zakres wszystkich elementów o kluczu równym k. |
| bool operator==(const hash_set&,const hash_set&) | Operator porównania. |
| hash_set() | Konstruktor domyslny. Tworzy pusty zbiór. |
| hash_set(size_type n) | Tworzy pusty zbiór hash_set z conajmniej n koszykami. |
| hash_set(size_type n,const hasher& h) | Tworzy pusty zbiór hash_set z conajmniej n koszykami i korzystający z h jako funkcji mieszającej. |
| hash_set(size_type n,const hasher& h,const key_equal& k) | Tworzy pusty zbiór hash_set z conajmniej n koszykami, korzystający z h jako funkcji mieszającej oraz k do porównywani objektów. |
| template <class InputIterator> hash_set(InputIterator f, InputIterator l) | Tworzy zbiór hash_set jako kopię z podanego zakresu. |
| template <class InputIterator> hash_set(InputIterator f, InputIterator l, size_type n) | Tworzy zbiór hash_set jako kopię z podanego zakresu i conajmniej n koszykami. |
| template <class InputIterator>hash_set(InputIterator f, InputIterator size_type n, const hasher& h) | Tworzy zbiór hash_set jako kopię z podanego zakresu, conajmniej n koszykami oraz korzystającym z h jako funkcji mieszającej. |
| hash_set(InputIterator f, InputIterator, size_type n, const hasher&, const key_equal& k) | Tworzy zbiór hash_set jako kopię z podanego zakresu, conajmniej n koszykami, korzystającym z h jako funkcji mieszającej oraz k do porównywania objektów. |
| hash_set(const hash_set&) | Konstruktor kopiujący. |
— Marian Szczykulski 2008/12/09 01:32