multimap (STL/CLR)
Klasa szablonu opisuje obiekt, który kontroluje różne długości sekwencji elementów dwukierunkowy dostępem.Użyj kontenera multimap do zarządzania (prawie) zrównoważonego drzewa zamówione węzłów, sekwencja elementów każdej przechowywania jeden element.Element składa się z kluczem do ustalania kolejności sekwencji i zmapowane wartości, która przechodzi dla jazdy.
W opisie poniżej GValue jest taka sama, jak:
Microsoft::VisualC::StlClr::GenericPair<GKey, GMapped>
w przypadku gdy:
GKeyjest taka sama, jak Key jest typem odwołania, w którym to przypadku jestKey^
GMappedjest taka sama, jak Mapped jest typem odwołania, w którym to przypadku jestMapped^
template<typename Key,
typename Mapped>
ref class multimap
: public
System::ICloneable,
System::Collections::IEnumerable,
System::Collections::ICollection,
System::Collections::Generic::IEnumerable<GValue>,
System::Collections::Generic::ICollection<GValue>,
System::Collections::Generic::IList<GValue>,
Microsoft::VisualC::StlClr::ITree<Gkey, GValue>
{ ..... };
Parametry
Klucz
Typ klucza składnika elementu w kontrolowanej sekwencji.Mapowane
Typ dodatkowego komponentu element w kontrolowanej sekwencji.
Członkowie
Definicja typu |
Opis |
---|---|
Typ stałej iteratora kontrolowanych sekwencji numerów. |
|
Typ stałej odwołanie do elementu. |
|
Typ stałej iteratora wstecznego kontrolowanych sekwencji numerów. |
|
Typ (ewentualnie podpisanego) odległość między dwoma elementami. |
|
Typ rodzajowy interfejs dla kontenera. |
|
Typ iterację rodzajowy interfejs dla kontenera. |
|
Typ wstecznego iteratora rodzajowy interfejs dla kontenera. |
|
Typ elementu dla rodzajowego interfejsu dla kontenera. |
|
Typ iterację kontrolowanych sekwencji numerów. |
|
Zamawiania obiektu delegowanego dla dwóch klawiszy. |
|
Typ sortowania klucza. |
|
Typ zmapowane wartości skojarzonych z poszczególnymi kluczami. |
|
Typ odwołania do elementu. |
|
Typ wstecznego iteratora kontrolowanych sekwencji numerów. |
|
Typ (ujemna) odległość między dwoma elementami. |
|
Zamawiania obiektu delegowanego dla dwóch wartości elementu. |
|
Typ elementu. |
Funkcja Członkowskie |
Opis |
---|---|
Określa początek kontrolowanych sekwencji. |
|
Usuwa wszystkie elementy. |
|
Zlicza elementy pasujące do określonego klucza. |
|
Badania, czy elementy nie są obecnie. |
|
Określa 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. |
|
Dodaje elementy. |
|
Kopiuje zamawiania obiektu delegowanego dla dwóch klawiszy. |
|
Znajduje początek zakresu, który pasuje do określonego klucza. |
|
Tworzy obiekt wartość. |
|
Tworzy obiekt kontenera. |
|
Określa początek odwróconą kolejność kontrolowanych. |
|
Określa koniec odwróconą kolejność kontrolowanych. |
|
Zlicza liczbę elementów. |
|
Zamienia zawartość dwóch kontenerów. |
|
Kopiuje kontrolowanych sekwencji nowej tablicy. |
|
Stwierdza koniec zakresu, który pasuje do określonego klucza. |
|
Kopiuje zamawiania obiektu delegowanego dla dwóch wartości elementu. |
Operator |
Opis |
---|---|
Zastępuje kontrolowanych sekwencji. |
|
Określa, czy multimap obiekt nie jest równa innej multimap obiektu. |
|
Określa, czy multimap obiektu jest mniejsza niż inna multimap obiektu. |
|
Określa, czy multimap obiekt jest mniejsza lub równa drugiemu multimap obiektu. |
|
Określa, czy multimap obiekt jest równa innej multimap obiektu. |
|
Określa, czy multimap obiektu jest większy niż inny multimap obiektu. |
|
Określa, czy multimap obiektu jest większa niż lub równa innej multimap obiektu. |
Interfejsy
Interfejs |
Opis |
---|---|
Duplikowanie obiektów. |
|
Sekwencji za pomocą elementów. |
|
Zachować grupy elementów. |
|
Sekwencji poprzez maszynowy elementów. |
|
Zachować grupy elementów określonego typu. |
|
ITree < klucz, wartość > |
Utrzymanie kontenerem. |
Uwagi
Obiekt przydziela i zwalnia przechowywania sekwencji numerów, które kontroluje w poszczególnych węzłach.Wstawia elementy do drzewa (prawie) zrównoważony, który utrzymuje zamówione przez zmienianie łączy między węzłami nigdy, kopiując zawartość jednego węzła do innego.Oznacza to, można wstawiać i usuwanie elementów swobodnie bez pozostałych pierwiastków przeszkadzających.
Obiekt zamówienia sekwencji kontroluje, wywołując obiektów przechowywanych delegata typu multimap::key_compare (STL/CLR).Można określić obiekt przechowywane delegata podczas konstruowania Mapa wielokrotnego dopasowania; Jeżeli pełnomocnik żaden obiekt nie zostanie określony, domyślnie jest porównanie operator<(key_type, key_type).Dostęp ten obiekt przechowywanych przez wywołanie funkcji składowej multimap::key_comp (STL/CLR)().
Obiekt pełnomocnik musi nakładać ścisłe słabe zamawiania kluczy typu multimap::key_type (STL/CLR).Oznacza to dla dowolnego z dwóch kluczy X i Y:
key_comp()(X, Y)Zwraca wartość Boolean samego spowodować przy każdym wywołaniu.
Jeśli key_comp()(X, Y) ma wartość true, następnie key_comp()(Y, X) musi być wartość false.
Jeśli key_comp()(X, Y) ma wartość true, następnie X jest powiedział zamawiać przed Y.
Jeśli !key_comp()(X, Y) && !key_comp()(Y, X) ma wartość true, następnie X i Y są wywierający równoważne zamawiania.
Dla dowolnego elementu X czy poprzedza Y w kontrolowanej sekwencji key_comp()(Y, X) ma wartość false.(Dla domyślnego obiektu pełnomocnik klucze nigdy nie spadek wartości.) W odróżnieniu od szablonu klasy map (STL/CLR), obiekt klasy multimap nie wymagają, że klucze dla wszystkich elementów są unikatowe.(Dwóch lub więcej klawiszy można mieć zamawiania równoważne).
Każdy element zawiera oddzielne klucz i wartość mapowane.Sekwencja jest reprezentowana w sposób, który pozwala na wyszukiwanie, wstawiania i usuwania dowolnego elementu, o liczbie operacji jest proporcjonalna do logarytmu liczby elementów w sekwencji (logarytmiczna czasu).Ponadto Wstawianie elementu unieważnia Iteratory nie i usuwanie elementu unieważnia tylko Iteratory, które wskazują na usunięto element.
Mapa wielokrotnego dopasowania obsługuje Iteratory dwukierunkowe, co oznacza, że można krok do sąsiadujących elementów podanych iterację, wyznaczający element w kontrolowanej sekwencji.Specjalne węzła głównego odpowiada iteratora, zwrócony przez multimap::end (STL/CLR)().Można zmniejszyć iteratora to osiągać ostatni element w sekwencji kontrolowanych, jeśli jest obecna.Można zwiększyć multimap iteratora do węzła głównego, a następnie będzie porównaj równa end().Ale nie nieprawidłowego iteratora, zwrócony przez end().
Należy zauważyć, że nie może odwoływać się do elementu multimap bezpośrednio podanych pozycji numerycznych--wymagającej z iteratora losowy dostęp.
Multimap iteratora przechowuje dojście do jego skojarzony węzeł multimap, która z kolei przechowuje dojście do jego kontenera skojarzone.Iteratory służy tylko z ich obiekty skojarzone kontenera.Multimap iteratora zachowuje ważność tak długo, jak długo jego skojarzony węzeł multimap jest skojarzony z niektórych Mapa wielokrotnego dopasowania.Ponadto ważne iteratora jest dereferencable--służy do dostępu lub zmienić wartość elementu ustanowi--tak długo, jak nie jest równa end().
Wymazywanie lub usunięcie elementu wymaga destruktor jego wartości przechowywanej.Niszczenie kontenera powoduje wymazanie wszystkich elementów.W ten sposób kontener, którego typ elementu jest klasa ref zapewnia żadnych elementów przetrwać dłużej niż kontenera.Należy jednak zauważyć, że kontener uchwyty nie not zniszczyć jego elementów.
Wymagania
Nagłówek: < w cliext na mapie >
Obszar nazw: cliext