map (STL/CLR)
Klasa szablon opisuje obiekt, który kontroluje różnicowania długość sekwencji elementów z dostępem do dwukierunkowego.Użyj kontener map 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 map
: public
System::ICloneable,
System::Collections::IEnumerable,
System::Collections::ICollection,
System::Collections::Generic::IEnumerable<GValue>,
System::Collections::Generic::ICollection<GValue>,
System::Collections::Generic::IList<GValue>,
System::Collections::Generic::IDictionary<Gkey, GMapped>,
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 |
---|---|
Typ iteratora stałego dla kontrolowanej sekwencji. |
|
Typ stałego odwołania do elementu. |
|
Typ stałej sterująca wstecznego w kontrolowanej sekwencji. |
|
Typ (ewentualnie podpisanego) odległość między dwoma elementami. |
|
Typ rodzajowy interfejs dla kontenera. |
|
Typ iteratora rodzajowy interfejsów dla kontenera. |
|
Typ wstecznego sterująca rodzajowy interfejsów dla kontenera. |
|
Typ elementu dla rodzajowego interfejsu dla kontenera. |
|
Typ iteratora dla kontrolowanej sekwencji. |
|
Zamawianie delegat na dwa klucze. |
|
Typ klucza sortowania. |
|
Typ mapowane wartości skojarzonych z poszczególnymi kluczami. |
|
Typ odwołania do elementu. |
|
Typ wstecznego sterująca w kontrolowanej sekwencji. |
|
Typ (ujemna) odległości między dwoma elementami. |
|
Zamawianie delegowanego dla dwóch wartości elementu. |
|
Typ elementu. |
Funkcji członka |
Opis |
---|---|
Określa początek kontrolowanej sekwencji. |
|
Usuwa wszystkie elementy. |
|
Zlicza elementy pasujące do określonego klucza. |
|
Badania, czy elementy nie są obecnie. |
|
Określa koniec kontrolowanej sekwencji. |
|
Wyszukuje zakresu, który odpowiada określonym kluczem. |
|
Usuwa elementy na określonych pozycjach. |
|
Wyszukuje elementem, który pasuje do określonego klucza. |
|
Dodaje elementy. |
|
Kopiuje zamawiania delegat na dwa klucze. |
|
Znajduje początek zakresu, który odpowiada określonym kluczem. |
|
Konstrukcje obiektu wartości. |
|
Konstruuje obiekt kontenera. |
|
Określa początek odwrócone kontrolowanej sekwencji. |
|
Określa koniec odwrócone kontrolowanej sekwencji. |
|
Oblicza liczbę elementów. |
|
Zamienia zawartość dwa kontenery. |
|
Kopiuje kontrolowanej sekwencji do nowej tablicy. |
|
Znajduje koniec zakresu, który odpowiada określonym kluczem. |
|
Kopiuje zamawiania delegowanego dla dwóch wartości elementu. |
Operator |
Opis |
---|---|
Zastępuje kontrolowanej sekwencji. |
|
Mapy klucz do skojarzonej wartości mapowanych. |
|
Określa, czy map obiekt nie jest równa innej map obiektu. |
|
Określa, czy map obiekt jest mniejsza niż innego map obiektu. |
|
Określa, czy map obiekt jest mniejsza lub równa drugiemu map obiektu. |
|
Określa, czy map obiekt jest równa innej map obiektu. |
|
Określa, czy map obiekt jest większy niż inny map obiektu. |
|
Określa, czy map obiektu jest większa niż lub równa innej map obiektu. |
Interfejsy
Interfejs |
Opis |
---|---|
Duplikowanie obiektów. |
|
Sekwencji przez elementy. |
|
Obsługa grupy elementów. |
|
Sekwencji przez elementy maszynowy. |
|
Obsługa grupy elementów maszynowy. |
|
Obsługa grup {klucz, wartość} pary. |
|
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 map::key_compare (STL/CLR).Można okreolić obiekt przechowywanych delegata podczas konstruowania mapy; 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 map::key_comp (STL/CLR)().
Obiektu delegowanego musi nakładać ścisłe słabe zamawiania kluczy typu map::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 map 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 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 map::end (STL/CLR)().To sterująca do osiągnięcia ostatniego elementu w kontrolowanej sekwencji można zmniejszyć, jeśli jest obecna.Mógł zwiększyć wartość sterująca mapę, aby dotrzeć do węzła głównego, a następnie porównaj równa 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 mapy, bezpośrednio biorąc pod uwagę jego pozycję numeryczny--wymagającej sterująca dostępie losowym.
Sterująca mapę przechowuje dojście do jego mapę skojarzony węzeł, który z kolei przechowuje dojście do jego skojarzony kontenera.Iteratory można użyć tylko z ich kontenera skojarzone obiekty.Sterująca mapę zachowuje ważność tak długo, jak długo jego węzeł mapy skojarzony jest skojarzony z niektórych mapę.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