Udostępnij za pośrednictwem


multimap (STL/CLR)

Klasa szablon opisuje obiekt, który kontroluje różnicowania długość sekwencji elementów z dostępem do dwukierunkowego.Użyj kontener multimap Zarządzanie sekwencja elementów jako (prawie) zrównoważony zamówione drzewo węzłów, w każdym przechowywania jeden element.Element składa się z kluczem do ustalania kolejności sekwencji, a wartość zamapowanego idzie na jazdę.

W polu Opis poniżej GValue jest taka sama, jak:

Microsoft::VisualC::StlClr::GenericPair<GKey, GMapped>

gdzie:

GKeyjest taka sama jak Key o ile ten ostatni typ odwołania, w którym to przypadku jestKey^

GMappedjest taka sama jak Mapped o ile ten ostatni typ 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 elementu w kontrolowanej sekwencji kluczowym składnikiem.

  • Mapowane
    Typ składnika dodatkowego elementu w kontrolowanej sekwencji.

Elementy członkowskie

Definicja typu

Opis

multimap::const_iterator (STL/CLR)

Typ iteratora stałego dla kontrolowanej sekwencji.

multimap::const_reference (STL/CLR)

Typ stałego odwołania do elementu.

multimap::const_reverse_iterator (STL/CLR)

Typ stałej sterująca wstecznego w kontrolowanej sekwencji.

multimap::difference_type (STL/CLR)

Typ (ewentualnie podpisanego) odległość między dwoma elementami.

multimap::generic_container (STL/CLR)

Typ rodzajowy interfejs dla kontenera.

multimap::generic_iterator (STL/CLR)

Typ iteratora rodzajowy interfejsów dla kontenera.

multimap::generic_reverse_iterator (STL/CLR)

Typ wstecznego sterująca rodzajowy interfejsów dla kontenera.

multimap::generic_value (STL/CLR)

Typ elementu dla rodzajowego interfejsu dla kontenera.

multimap::iterator (STL/CLR)

Typ iteratora dla kontrolowanej sekwencji.

multimap::key_compare (STL/CLR)

Zamawianie delegat na dwa klucze.

multimap::key_type (STL/CLR)

Typ klucza sortowania.

multimap::mapped_type (STL/CLR)

Typ mapowane wartości skojarzonych z poszczególnymi kluczami.

multimap::reference (STL/CLR)

Typ odwołania do elementu.

multimap::reverse_iterator (STL/CLR)

Typ wstecznego sterująca w kontrolowanej sekwencji.

multimap::size_type (STL/CLR)

Typ (ujemna) odległości między dwoma elementami.

multimap::value_compare (STL/CLR)

Zamawianie delegowanego dla dwóch wartości elementu.

multimap::value_type (STL/CLR)

Typ elementu.

Funkcji członka

Opis

multimap::begin (STL/CLR)

Określa początek kontrolowanej sekwencji.

multimap::clear (STL/CLR)

Usuwa wszystkie elementy.

multimap::count (STL/CLR)

Zlicza elementy pasujące do określonego klucza.

multimap::empty (STL/CLR)

Badania, czy elementy nie są obecnie.

multimap::end (STL/CLR)

Określa koniec kontrolowanej sekwencji.

multimap::equal_range (STL/CLR)

Wyszukuje zakresu, który odpowiada określonym kluczem.

multimap::erase (STL/CLR)

Usuwa elementy na określonych pozycjach.

multimap::find (STL/CLR)

Wyszukuje elementem, który pasuje do określonego klucza.

multimap::insert (STL/CLR)

Dodaje elementy.

multimap::key_comp (STL/CLR)

Kopiuje zamawiania delegat na dwa klucze.

multimap::lower_bound (STL/CLR)

Znajduje początek zakresu, który odpowiada określonym kluczem.

multimap::make_value (STL/CLR)

Konstrukcje obiektu wartości.

multimap::multimap (STL/CLR)

Konstruuje obiekt kontenera.

multimap::rbegin (STL/CLR)

Określa początek odwrócone kontrolowanej sekwencji.

multimap::rend (STL/CLR)

Określa koniec odwrócone kontrolowanej sekwencji.

multimap::size (STL/CLR)

Oblicza liczbę elementów.

multimap::swap (STL/CLR)

Zamienia zawartość dwa kontenery.

multimap::to_array (STL/CLR)

Kopiuje kontrolowanej sekwencji do nowej tablicy.

multimap::upper_bound (STL/CLR)

Znajduje koniec zakresu, który odpowiada określonym kluczem.

multimap::value_comp (STL/CLR)

Kopiuje zamawiania delegowanego dla dwóch wartości elementu.

Operator

Opis

multimap::operator= (STL/CLR)

Zastępuje kontrolowanej sekwencji.

operator!= (multimap) (STL/CLR)

Określa, czy multimap obiekt nie jest równa innej multimap obiektu.

operator< (multimap) (STL/CLR)

Określa, czy multimap obiekt jest mniejsza niż innego multimap obiektu.

operator<= (multimap) (STL/CLR)

Określa, czy multimap obiekt jest mniejsza lub równa drugiemu multimap obiektu.

operator== (multimap) (STL/CLR)

Określa, czy multimap obiekt jest równa innej multimap obiektu.

operator> (multimap) (STL/CLR)

Określa, czy multimap obiekt jest większy niż inny multimap obiektu.

operator>= (multimap) (STL/CLR)

Określa, czy multimap obiektu jest większa niż lub równa innej multimap obiektu.

Interfejsy

Interfejs

Opis

ICloneable

Duplikowanie obiektów.

IEnumerable

Sekwencji przez elementy.

ICollection

Obsługa grupy elementów.

IEnumerable

Sekwencji przez elementy maszynowy.

ICollection

Obsługa grupy elementów maszynowy.

ITree<klucz, wartość>

Obsługa rodzajowy kontenera.

Uwagi

Obiekt przydziela i zwalnia pamięci masowej w sekwencji, które kontroluje jako pojedynczych węzłów.Wstawia elementy do drzewa (prawie) zrównoważony, który utrzymuje zamówione przez zmianę łączy między węzłami nigdy, kopiując zawartość z jednego węzła do innego.Oznacza to można wstawiać i usunąć elementy swobodnie bez pozostałych pierwiastków przeszkadzających.

Obiekt zamówienia sekwencji kontroluje przez wywołanie obiektu delegowanego przechowywanych typu multimap::key_compare (STL/CLR).Można okreolić obiekt przechowywanych delegata podczas konstruowania Mapa wielokrotnego dopasowania; Jeśli określisz żadnego obiektu delegowanego, wartością domyślną jest porównanie operator<(key_type, key_type).Dostęp do przechowywanej obiektu przez wywołanie funkcji członka multimap::key_comp (STL/CLR)().

Obiektu delegowanego musi nakładać ścisłe słabe zamawiania kluczy typu multimap::key_type (STL/CLR).Oznacza to, że dla dwóch dowolnych kluczy X i Y:

key_comp()(X, Y)Zwraca wartość Boolean samego wyniku przy każdym wywołaniu.

Jeśli key_comp()(X, Y) ma wartość true, a następnie key_comp()(Y, X) musi mieć wartość false.

Jeśli key_comp()(X, Y) ma wartość true, a następnie X mówi się, że zamówiony przed Y.

Jeśli !key_comp()(X, Y) && !key_comp()(Y, X) ma wartość true, a następnie X i Y mówi się, że zamawianie równoważne.

Dla dowolnego elementu X czy poprzedza Y w kontrolowanej sekwencji key_comp()(Y, X) ma wartość false. (Dla domyślnego obiektu delegowanego, klucze nigdy nie spadek wartości.) W odróżnieniu od szablonu klasy map (STL/CLR), obiekt klasy szablon multimap nie wymaga, aby były unikatowe klucze dla wszystkich elementów. (Dwóch lub więcej klawiszy może mieć zamawianie równoważne).

Każdy element zawiera osobny klucz i wartość zamapowanego.Sekwencja jest reprezentowana w sposób, który pozwala na wyszukiwanie, wstawiania i usuwania dowolnego elementu z wielu operacji proporcjonalna do logarytmu liczby elementów w sekwencji (logarytmicznej czasu).Ponadto Wstawianie elementu powoduje unieważnienie nie Iteratory i usunięcie elementu unieważnienie tylko Iteratory, które wskazuje na element usunięty.

Mapa wielokrotnego dopasowania obsługuje Iteratory dwukierunkowe, co oznacza, że można przejść do sąsiednich elementów, biorąc pod uwagę iterację opisująca elementu w kontrolowanej sekwencji.Specjalne węzła głównego odpowiada sterująca zwrócone przez multimap::end (STL/CLR)().To sterująca do osiągnięcia ostatniego elementu w kontrolowanej sekwencji można zmniejszyć, jeśli jest obecna.Może zwiększać multimap sterująca do osiągnięcia węzła głównego, a następnie porównać równe end().Ale nie cofnięcia odwołania sterująca zwrócone przez end().

Należy zauważyć, że nie może odwoływać się do elementu multimap bezpośrednio biorąc pod uwagę jego pozycję numeryczny--wymagającej sterująca dostępie losowym.

Multimap sterująca przechowuje dojście do jego skojarzony węzeł multimap, który z kolei przechowuje dojście do jego skojarzony kontenera.Iteratory można użyć tylko z ich kontenera skojarzone obiekty.Multimap sterująca zachowuje ważność tak długo, jak długo jego skojarzony węzeł multimap wiąże się z niektórych Mapa wielokrotnego dopasowania.Ponadto, prawidłowe iteratora jest dereferencable--służy do dostępu lub zmienić wartość elementu wyznacza ona--tak długo, jak nie jest równa end().

Wymazywanie lub usunięcie elementu wywołuje destruktor dla swojej przechowywanej wartości.Niszczenie kontenera powoduje wymazanie wszystkich elementów.W efekcie kontenera, którego typ elementu jest klasą ref daje pewność, że elementy nie przeżyje kontenera.Należy jednak zauważyć, że kontener uchwyty nie not zniszczyć jego elementów.

Wymagania

Nagłówek:<cliext/map>

Przestrzeń nazw: cliext

Zobacz też

Informacje

hash_map (STL/CLR)

hash_multimap (STL/CLR)

hash_multiset (STL/CLR)

hash_set (STL/CLR)

map (STL/CLR)

multiset (STL/CLR)

set (STL/CLR)

Inne zasoby

Odwołanie do biblioteki STL/CLR