unordered_map Class
Klasa szablonu opisuje obiekt, który kontroluje sekwencji różnej długości elementów typu std::pair<const Key, Ty>.Sekwencja jest słabo uporządkowane według funkcji mieszania partycji sekwencji w uporządkowany zestaw o nazwie segmentów podciągów.W ramach każdego segmentu funkcji porównania określa, czy między każdą parą elementów ma, równoważne zamawiania.Każdy element przechowuje dwa obiekty, klucz sortowania i wartości.Sekwencja jest reprezentowana w sposób, który pozwala na wyszukiwanie, wstawiania i usuwania dowolnego elementu, o liczbie operacji, które mogą być niezależne od liczby elementów w kolejności (czas stałej), co najmniej podczas wszystkich segmentów są mniej więcej jednakowej długości.W najgorszym przypadku gdy wszystkie elementy są w jednym segmencie liczba operacji jest proporcjonalna do liczby elementów w kolejności (liniowy czasu).Ponadto Wstawianie elementu unieważnia Iteratory nie i usuwanie elementu unieważnia tylko Iteratory, które wskazują na usunięto element.
template<class Key,
class Ty,
class Hash = std::hash<Key>,
class Pred = std::equal_to<Key>,
class Alloc = std::allocator<std::pair<const Key, Ty> > >
class unordered_map;
Parametry
Parametr |
Opis |
Key |
Typ klucza. |
Ty |
Typ mapowane. |
Hash |
Typ obiektu funkcji mieszania. |
Pred |
Typ obiektu funkcji porównania równości. |
Alloc |
Klasa przydzielania. |
Członkowie
Definicja typu |
Opis |
Typ programu przydzielania za zarządzanie magazynem. |
|
Typ stałej iteratora kontrolowanych sekwencji numerów. |
|
Typ iteratora stałej Wiadro z farbą kontrolowanych sekwencji numerów. |
|
Typ stałej wskaźnik do elementu. |
|
Typ stałej odwołanie do elementu. |
|
Typ podpisane odległość między dwoma elementami. |
|
Typ funkcji mieszania. |
|
Typ iteratora kontrolowanych sekwencji numerów. |
|
Typ funkcji porównania. |
|
Typ klucza zamawiania. |
|
Typ iteratora Wiadro z farbą kontrolowanych sekwencji numerów. |
|
Typ wartości mapowanych, skojarzone z poszczególnymi kluczami. |
|
Typ wskaźnik do elementu. |
|
Typ odwołania do elementu. |
|
Typ niepodpisane odległość między dwoma elementami. |
|
Typ elementu. |
Funkcja Członkowskie |
Opis |
Wyszukuje element z określonym kluczem. |
|
Wyznacza początek kontrolowanych sekwencji. |
|
Pobiera numer segmentu dla wartości klucza. |
|
Pobiera ilość segmentów. |
|
Pobiera rozmiar segmentu. |
|
Wyznacza początek kontrolowanych sekwencji. |
|
Wyznacza koniec sekwencji kontrolowane. |
|
Usuwa wszystkie elementy. |
|
Wyszukuje liczbę elementów pasujących do określonego klucza. |
|
Dodaje element zbudowane w miejscu. |
|
Dodaje element zbudowane w miejscu, wskazówka. |
|
Badania, czy elementy nie są obecnie. |
|
Wyznacza koniec sekwencji kontrolowane. |
|
Wyszukuje zakres, który pasuje do określonego klucza. |
|
Usuwa elementy na określonych pozycjach. |
|
Wyszukuje element, który pasuje do określonego klucza. |
|
Pobiera obiekt alokatora przechowywane. |
|
Pobiera obiekt funkcji mieszania przechowywane. |
|
Dodaje elementy. |
|
Pobiera obiekt przechowywane porównanie funkcji. |
|
Oblicza średnią elementów na Wiadro z farbą. |
|
Pobiera maksymalną liczbę segmentów. |
|
Pobiera lub ustawia maksymalną elementów na Wiadro z farbą. |
|
Pobiera maksymalny rozmiar kontrolowany sekwencji. |
|
Przebudowuje tabeli mieszania. |
|
Zlicza liczbę elementów. |
|
Zamienia zawartość dwóch kontenerów. |
|
Konstrukcje obiektu kontenera. |
Operator |
Opis |
Wyszukuje lub wstawia element z określonym kluczem. |
|
Kopiuje z tabeli mieszania. |
Uwagi
Obiekt zamówienia sekwencji, kontroluje, wywołując dwóch obiektów przechowywanych obiektu funkcji porównania tego typu unordered_map::key_equal i obiektu funkcji mieszania typu unordered_map::hasher.Dostęp do pierwszego obiektu przechowywanych przez wywołanie funkcji składowej unordered_map::key_eq(); i uzyskać dostęp do drugiego obiektu przechowywanych przez wywołanie funkcji składowej unordered_map::hash_function().W szczególności dla wszystkich wartości X i Y typu Key, wywołanie key_eq()(X, Y) zwraca wartość true tylko wtedy, gdy wartości argumentu dwóch równoważnych zamówienia; wywołanie hash_function()(keyval) daje dystrybucji wartości typu size_t.W odróżnieniu od szablonu klasy unordered_multimap Class, obiekt szablonu klasy unordered_map zapewnia, że key_eq()(X, Y) jest zawsze wartość false dla dwa elementy w kontrolowanych sekwencji.(Klucze są unikatowe).
Obiekt przechowuje również współczynnik maksymalne obciążenie, które określa, że maksymalne potrzeby średnia liczba elementów na Wiadro z farbą.Jeśli Wstawianie elementu powoduje, że unordered_map::load_factor() przekroczyć współczynnika maksymalnego obciążenia, kontener zwiększa ilość segmentów i odtwarza tabeli mieszania, w razie potrzeby.
Rzeczywistej kolejności elementów w kontrolowanych sekwencji zależy od funkcji mieszania, funkcja porównania, kolejność wstawiania, współczynnik maksymalnego obciążenia i bieżąca liczba segmentów.Kolejność elementów w sekwencji kontrolowanych w ogóle nie można przewidzieć.Można zawsze mieć pewność, jednak przylegają dowolny podzestaw elementów, które mają równoważne zamawiania w kontrolowanych sekwencji.
Obiekt przydziela i zwalnia przechowywania sekwencji kontroluje za pośrednictwem obiektu przechowywane alokatora typu unordered_map::allocator_type.Obiekt programu przydzielania muszą mieć ten sam interfejs zewnętrzny jako obiekt szablonu klasy allocator.Należy zauważyć, że przypisywany jest obiektem kontenera obiektów przechowywanych alokator nie jest kopiowane.
Wymagania
Nagłówek: <unordered_map>
Obszar nazw: std
Zobacz też
Informacje
Inne zasoby
<unordered_map> Członkowie