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