map (STL/CLR)
Klasa szablonu opisuje obiekt, który kontroluje różne długości sekwencji elementów dwukierunkowy dostępem.Użyj kontenera map 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 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 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. |
|
Mapuje klucza skojarzonej wartości mapowane. |
|
Określa, czy map obiekt nie jest równa innej map obiektu. |
|
Określa, czy map obiektu jest mniejsza niż inna 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 obiektu 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 za pomocą elementów. |
|
Zachować grupy elementów. |
|
Sekwencji poprzez maszynowy elementów. |
|
Zachować grupy elementów określonego typu. |
|
Zachować grupy {klucz, wartość} pary. |
|
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 map::key_compare (STL/CLR).Można określić obiekt przechowywane delegata podczas konstruowania mapy; 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 map::key_comp (STL/CLR)().
Obiekt pełnomocnik musi nakładać ścisłe słabe zamawiania kluczy typu map::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 map 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 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 map::end (STL/CLR)().Można zmniejszyć iteratora to osiągać ostatni element w sekwencji kontrolowanych, jeśli jest obecna.Można zwiększyć iteratora mapę 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 mapę bezpośrednio podanych pozycji numerycznych--wymagającej z iteratora losowy dostęp.
Iteratora mapę przechowuje dojście do węzła skojarzone mapę, która z kolei przechowuje dojście do jego kontenera skojarzone.Iteratory służy tylko z ich obiekty skojarzone kontenera.Iteratora mapę zachowuje ważność tak długo, jak długo jego węzeł mapy skojarzony jest skojarzony z niektóre mapy.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