multimap Class
Klasa multimap standardowa biblioteka szablonów jest używana do przechowywania i pobierania danych z kolekcji, w której każdy element jest para, która ma wartość danych i klucz sortowania.Wartość klucza nie musi być unikatowa i kolejność dane automatycznie.Wartość elementu w Mapa wielokrotnego dopasowania, ale nie jego skojarzony wartości klucza, można zmieniać bezpośrednio.Zamiast tego wartości skojarzonych z stare elementy muszą być usunięte i nowe wartości kluczy związanych z nowe elementy wstawione.
template <
class Key,
class Type,
class Traits=less<Key>,
class Allocator=allocator<pair <const Key, Type> >
>
class multimap
Parametry
Klucz
Typ danych klucza mają być przechowywane w Mapa wielokrotnego dopasowania.Typ
Typ danych elementu ma być przechowywany w Mapa wielokrotnego dopasowania.Traits
Typ, który zawiera obiekt funkcji, które można porównać dwie wartości elementów jako klucze sortowania do określenia ich względna kolejność w Mapa wielokrotnego dopasowania.Predykatu dwuelementowego mniej*<Key>* jest wartością domyślną.Allocator
Typ, który reprezentuje obiekt przechowywanych programu przydzielania adresów, który mieści szczegółowe informacje dotyczące alokacji i dezalokacji pamięci mapy.Ten argument jest opcjonalny, a wartość domyślna to programu przydzielania*<*pair *<*const klucz, wpisz > >.
Uwagi
Klasa multimap STL jest
Zespolone kontenera, w którym kontener rozmiar ramek, który obsługuje na wydajne wyszukiwanie wartości elementów oparte na skojarzonej wartości klucza.
Odwracalne, ponieważ zapewnia on Iteratory dwukierunkowy dostępu jego elementy do.
Posortowane, ponieważ jego elementy są uporządkowane według wartości kluczy w kontenerze zgodnie z funkcją porównania określonego.
Wielu, ponieważ jego elementy nie trzeba miały unikatowe klucze, tak aby jedna wartość klucza może mieć wiele wartości danych elementów skojarzonych z nią.
Para kontenera asocjacyjnych, ponieważ jego wartości danych elementów różnią się od jego wartości klucza.
Klasa szablonu, ponieważ zapewnia funkcjonalność jest rodzajowy i tak niezależnie od określonego typu danych znajdujących się jako elementów lub klucze.Typy danych przeznaczonych do elementów i klucze natomiast określono jako parametry w szablonie klasy wraz z porównania funkcji i przydzielania.
Sterująca udostępnianym przez klasę mapa jest sterująca dwukierunkowe, ale funkcje składowe klasy Wstaw i Mapa wielokrotnego dopasowania wersje, które biorą za parametry szablonu słabsze sterująca wejściowego, powodującym funkcjonalności są bardziej minimalne niż gwarantowana przez klasę Iteratory dwukierunkowego.Pojęcia dotyczące różnych sterująca tworzą rodziny powiązane przez udoskonaleń w ich funkcji.Każde pojęcie sterująca ma swój własny zestaw wymogów i algorytmów, które współpracują z nimi musi ograniczyć ich założenia do wymagań określonych przez tego typu sterująca.Można przypuszczać, że może można usunąć odwołania do odwoływania się do jakiegoś obiektu wejściowego iterację i że może być zwiększany do następnego sterująca w sekwencji.Jest to minimalny zestaw funkcji, ale wystarczy, aby móc mówić sensownie o szereg Iteratory [_First, _Last) w kontekście funkcje składowe tej klasy.
Wybór typu kontener powinny być ogólnie na podstawie typu wyszukiwania i wstawianie wymagane przez aplikację.Kontenery asocjacyjne są zoptymalizowane pod kątem operacji wyszukiwania, wstawiania i usuwania.Funkcje składowe, które jawnie obsługują te operacje są skuteczne, ich realizacji w czasie, który jest średnio proporcjonalna do logarytmu liczby elementów w kontenerze.Iteratory nie wstawiania elementów nie podważają i usuwanie elementów unieważnia tylko Iteratory, które w szczególności wskazywali na elementy usunięte.
Mapa wielokrotnego dopasowania powinna być zespolone opakowania z wyboru, gdy spełnione są warunki z wartości otrzymanych z klawiszy przez aplikację.Model dla tego typu konstrukcji jest uporządkowaną listę słów kluczowych z wartości ciąg skojarzone, zapewniając, powiedzmy, definicje, gdzie wyrazy były nie zawsze jednoznacznie zdefiniowane.Jeśli zamiast tego słowa kluczowe zostały jednoznacznie określone tak, aby były unikatowe klucze, mapie byłoby opakowania z wyboru.Jeśli z drugiej strony, były przechowywane tylko listę wyrazów, zestaw będzie poprawny kontenera.Jeżeli zezwolono wielu wystąpień słów, wielostopniowy byłoby struktury odpowiedni kontener.
Mapa wielokrotnego dopasowania zamówień sekwencja kontroluje poprzez wywołanie obiektu przechowywanej funkcji typu key_compare.Ten obiekt przechowywana jest funkcje porównania, która zapewnia dostęp poprzez wywołanie funkcji składowej key_comp.Ogólnie rzecz biorąc, elementy muszą być jedynie mniej niż porównywalne do ustanowienia tego zamówienia: tak, że biorąc pod uwagę każdymi dwoma elementami, może zostać stwierdzone, że są one równoważne (w tym sensie, że nie jest mniejsza niż inne) albo jednym jest mniejsza niż inne.Powoduje to zamawiania między elementami nonequivalent.Na bardziej techniczne notatki funkcja porównanie jest predykatu dwuelementowego, która powoduje ścisłe słabe kolejność w standardowych matematyczne znaczenie.Predykatu dwuelementowego f(x, y) jest obiekt funkcji, która ma dwa obiekty argument x i y i zwracana wartość wynosząca true lub false.Kolejność nałożonych na zestawie jest ścisłe słaby zamawiania Jeśli predykatu dwuelementowego jest niezwrotne, antysymetryczna i przechodnie i jeśli równoważność jest przechodnie, gdzie obydwa obiekty x i y są definiowane za równoważne, gdy oba f(x, y) i f(y, x) są fałszywe.Jeśli warunek silniejsze równości pomiędzy kluczami zastępuje system równoważności, kolejność staje się całkowita (w tym sensie, że wszystkie elementy są uporządkowane w odniesieniu do siebie), a klucze dopasowane jest niedostrzegalny od siebie.
Elementy członkowskie
Konstruktory
Konstrukcje multimap oznacza to jest pusta lub oznacza to kopii całości lub jakąś inną częścią multimap. |
Definicje typów
Typ, który reprezentuje allocator klasy dla multimap obiektu. |
|
Typ, udostępniającego sterująca dwukierunkowe, które można odczytać const element w multimap. |
|
Typ, który zapewni wskaźnik do const element w multimap. |
|
Typ, który zawiera odwołanie do const element przechowywane w multimap do odczytu i wykonywania const operacji. |
|
Typ, udostępniającego sterująca dwukierunkowe, które można odczytać żadnych const element w multimap. |
|
Typ całkowita, która może służyć do reprezentowania liczbę elementów multimap w zakresie między elementami wskazywanej przez Iteratory. |
|
Typ, który stanowi różnicę między dwoma Iteratory, które odwołują się do elementów w tym samym multimap. |
|
Typ, który zawiera obiekt funkcji, które można porównać dwa klucze sortowania do określenia względnej kolejności dwa elementy w multimap. |
|
Typ, który opisuje klucz sortowania obiektu, który stanowi każdy element multimap. |
|
Typ, który reprezentuje typ danych przechowywanych w multimap. |
|
Typ, który zapewni wskaźnik do const element w multimap. |
|
Typ, który zawiera odwołanie do elementu przechowywane w multimap. |
|
Typ, udostępniająca sterująca dwukierunkowe, które mogą odczytywać lub modyfikować element odwrócone multimap. |
|
Typu Liczba całkowita bez znaku, który zapewni wskaźnik do const element w multimap. |
|
Typ, który zawiera obiekt funkcji, które można porównać dwa elementy jako klucze sortowania do określenia ich względną kolejność, w multimap. |
Funkcje składowe
Zwraca iterację adresowania pierwszym elementem w multimap. |
|
Zwraca wartość sterująca const, adresowania pierwszym elementem w multimap. |
|
Zwraca wartość sterująca const, który dotyczy lokalizacji pomyślne wykonanie ostatniego elementu w multimap. |
|
Usuwa wszystkie elementy multimap. |
|
Zwraca liczbę elementów w multimap której klucz pasuje do klucza z określonego przez parametr. |
|
Zwraca wartość sterująca const, adresowania pierwszym elementem odwrócone multimap. |
|
Zwraca wartość sterująca const, który dotyczy lokalizacji pomyślne wykonanie ostatniego elementu w odwrócone multimap. |
|
Wstawia element zbudowanych w miejscu, w multimap. |
|
Wstawia element zbudowanych w miejscu, w multimap, z wskazówkę dotyczącą rozmieszczenia |
|
Testy, jeśli multimap jest pusta. |
|
Zwraca wartość sterująca, który dotyczy lokalizacji pomyślne wykonanie ostatniego elementu w multimap. |
|
Wyszukuje zakres elementów, gdzie klucz elementu spełnia określone wymagania. |
|
Usuwa element lub szereg elementów w multimap z określonych pozycjach lub usuwa elementy, które odpowiadają określonym kluczem. |
|
Zwraca iterację adresowania miejscu pierwszego elementu w multimap która ma klucz równoważne z określonym kluczem. |
|
Zwraca kopię allocator obiekt służący do konstruowania multimap. |
|
Wstawia element lub szereg elementów w multimap. |
|
Pobiera kopię obiektu porównania, służący do kluczy zamówienia w multimap. |
|
Zwraca iterację do pierwszego elementu w multimap , przy użyciu klucza, który jest równy lub większy niż określonym kluczem. |
|
Zwraca maksymalną długość multimap. |
|
Zwraca iterację adresowania pierwszym elementem odwrócone multimap. |
|
Zwraca wartość sterująca, który dotyczy lokalizacji pomyślne wykonanie ostatniego elementu w odwrócone multimap. |
|
Zwraca liczbę elementów w multimap. |
|
Wymiany elementów dwu multimaps. |
|
Zwraca iterację do pierwszego elementu w multimap , przy użyciu klucza, która jest większa niż określonym kluczem. |
|
Funkcja składowa zwraca obiekt funkcji, która określa kolejność elementów w multimap przez porównanie ich wartości klucza. |
Operatory
Zastępuje elementy multimap z kopią innego multimap. |
Wymagania
Nagłówek: <map>
Obszar nazw: std
(Klucz, wartość) pary są przechowywane w Mapa wielokrotnego dopasowania jako obiekty typu pair.Klasa parę wymaga nagłówka <utility>, który jest automatycznie dołączany przez <map>.
Zobacz też
Informacje
Bezpieczeństwo wątków w standardowa biblioteka języka C++
Standardowa biblioteka szablonu
Inne zasoby
Członkowie multimap
<map> Członkowie