map (STL/CLR)
Popisuje šablony třídy objektu, který řídí různé délky posloupnost prvků, která má obousměrný přístup.Použití kontejneru map pořadí prvků jako objednané (téměř) vyvážený strom uzlů, správa jednotlivých ukládání jeden prvek.Element se skládá z klíče pro řazení pořadí a mapované hodnotu, která přejde jízdní pro.
V popisu níže GValue je stejný jako:
Microsoft::VisualC::StlClr::GenericPair<GKey, GMapped>
kde:
GKeyje stejný jako Key , není tento typ odkazu, v takovém případě jeKey^
GMappedje stejný jako Mapped , není tento typ odkazu, v takovém případě jeMapped^
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
Klíč
Typ klíče součásti prvku řízené sekvence.Mapované
Typ prvku řízené postupně další komponenty.
Členy
Definice typu |
Description |
---|---|
Typ konstantní iterační řízené posloupnosti. |
|
Typ konstantní odkaz na element. |
|
Typ konstantní zpětného iterační řízené posloupnosti. |
|
Typ (případně podepsaný) vzdálenost mezi dvěma prvky. |
|
Typ kontejneru obecné rozhraní. |
|
Typ iterace obecné rozhraní pro kontejner. |
|
Typ zpětného iterační obecné rozhraní pro kontejner. |
|
Typ prvku obecné rozhraní kontejneru. |
|
Typ iterace řízené posloupnosti. |
|
Objednávání delegát dva klíče. |
|
Typ řazení klíč. |
|
Typ mapované hodnoty přiřazené každému klíči. |
|
Typ odkazu na prvek. |
|
Typ zpětného iterační řízené posloupnosti. |
|
Typ (kladné) vzdálenost mezi dvěma prvky. |
|
Objednávání delegát dvě hodnoty prvku. |
|
Typ prvku. |
Členská funkce |
Description |
---|---|
Označí začátek řízené sekvence. |
|
Odebere všechny prvky. |
|
Zadaný klíč odpovídající počítá. |
|
Zkoušky, zda jsou žádné prvky prezentovat. |
|
Označí konec řízené sekvence. |
|
Najde rozsah, který odpovídá zadaným klíčem. |
|
Odebere prvky v určených polohách. |
|
Najde zadaný klíč odpovídající prvek. |
|
Přidá prvky. |
|
Zkopíruje objednávání delegáta pro dva klíče. |
|
Vyhledá začátek rozsahu, který odpovídá zadaným klíčem. |
|
Vytvoří objekt hodnoty. |
|
Konstrukce objektu kontejneru. |
|
Označí začátek řízené obrácené pořadí. |
|
Označí konec obrácené pořadí řízené. |
|
Vrátí počet prvků. |
|
Zamění obsah dva kontejnery. |
|
Řízené sekvence se zkopíruje do nového pole. |
|
Vyhledá konec rozsahu, který odpovídá zadaným klíčem. |
|
Zkopíruje objednávání delegáta pro dvě hodnoty prvku. |
Operátor |
Description |
---|---|
Nahradí řízené sekvence. |
|
Mapuje mapované přidružené hodnoty klíče. |
|
Určuje, zda map objektu není rovna jiné map objektu. |
|
Určuje, zda map objektu je menší než jiné map objektu. |
|
Určuje, zda map objekt je menší nebo rovna jiné map objektu. |
|
Určuje, zda map je rovna jiného objektu map objektu. |
|
Určuje, zda map je větší než jiný objekt map objektu. |
|
Určuje, zda map objekt je větší než nebo rovna hodnotě jiného map objektu. |
Rozhraní
Rozhraní |
Description |
---|---|
Duplikujte objekt. |
|
Úsek mezi prvky. |
|
Zachovat skupiny prvků. |
|
Pořadové prostřednictvím typové prvky. |
|
Zachovat skupiny zadané prvků. |
|
Zachovat skupiny {klíč hodnota} páry. |
|
ITree < klíč, hodnota > |
Udržují generic kontejneru. |
Poznámky
Objekt přiděluje a uvolní úložiště pro sekvence, které ovládá jako jednotlivé uzly.Prvky se vloží do stromu (téměř) Rovnováha, který udržuje uspořádaný změnou propojení mezi uzly nikdy zkopírováním obsahu z jednoho uzlu do druhého.To znamená, můžete vložit a odebrat prvky volně bez narušení zbývající prvky.
Objekt objednávky pořadí ovládacích prvků voláním uložené delegát objekt typu map::key_compare (STL/CLR).Objekt uložené delegáta můžete určit při vytvoření mapy; Pokud nezadáte žádný objekt delegáta, výchozí hodnota je srovnání operator<(key_type, key_type).Přístup k objektu uložených voláním funkce členské map::key_comp (STL/CLR)().
Takový objekt delegát musí ukládat přísné slabé řazení klíče typu map::key_type (STL/CLR).To znamená pro všechny dva klíče X a Y:
key_comp()(X, Y)Vrátí výsledek stejný Boolean při každém volání.
Pokud key_comp()(X, Y) je PRAVDA, pak key_comp()(Y, X) musí být false.
Pokud key_comp()(X, Y) je PRAVDA, pak X se říká objednané před Y.
Pokud !key_comp()(X, Y) && !key_comp()(Y, X) je PRAVDA, pak X a Y jsou označeny mít rovnocenné objednávání.
Pro každý prvek X , předchází Y řízené postupně key_comp()(Y, X) hodnotu false.(Pro objekt výchozí delegáta, klíče nikdy sníží hodnota.) Na rozdíl od šablony třídy map (STL/CLR), objekt šablony třídy map nevyžaduje, že jsou jedinečné klíče pro všechny prvky.(Dvou nebo více kláves můžete mít rovnocenné objednávání.)
Každý prvek obsahuje samostatnou klíč a hodnotu mapované.Pořadí je reprezentován způsobem, který umožňuje vyhledávání, vkládání a odstraňování libovolný prvek s počtem operací úměrný logaritmu počet prvků v posloupnosti (logaritmické času).Kromě vkládání prvek přestanou platit žádné u iterátorů a odebrání prvku zruší platnost pouze ty u iterátorů které na odebraný prvek.
Mapy podporuje obousměrný u iterátorů, což znamená, že můžete na sousedící prvky uvedené iterace, který určuje prvek řízené postupně krok.Zvláštní hlavního uzlu odpovídá iterační vrácené map::end (STL/CLR)().Tento iterační dosáhnout poslední prvek v pořadí řízené lze snížit přítomen.Můžete zvýšit iterační mapy k dosažení hlavního uzlu a potom bude porovnávat rovno end().Ale nelze zrušit reference struktury iterace vrácené end().
Všimněte si, že nemůže odkazovat na prvek mapy přímo dané číselné pozice--vyžadující iterační random access.
Mapa iterační uloží popisovač uzel mapy přidružené jeho zase uloží popisovač jeho přidružené kontejneru.U iterátorů lze použít pouze jejich přidružené kontejneru objektů.Mapa iterační zůstává v platnosti tak dlouho, dokud se jeho přidružené mapování uzlu je přidružen k některé mapy.Kromě toho je platný iterační dereferencable – slouží k přístupu nebo změnit hodnotu prvku jmenuje--tak dlouho, dokud není rovno end().
Mazání nebo odebrání prvku volá jeho uložená hodnota se objekt.Zničení kontejneru vymaže všechny prvky.Kontejner, jehož typ prvku je třída ref tedy zajišťuje, že outlive žádné prvky kontejneru.Upozorňujeme však, že kontejner úchyty nemá not zničit jeho prvky.
Požadavky
Záhlaví: < cliext/map >
Obor názvů: cliext