Sdílet prostřednictvím


map (STL/CLR)

Třída šablony popisuje objekt, který ovládá různé délky posloupnost prvků, která má obousměrný přístup.Použití kontejneru map ke správě pořadí prvků jako (téměř) vyvážené uspořádaný strom uzlů, každý ukládání jednoho prvku.Element obsahuje klíč pro řazení pořadí a mapované hodnoty, která žádají o jedou.

V popisu níže GValue je stejný jako:

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

kde:

GKeyje stejný jako Key Pokud je typ odkazu, v takovém případě jeKey^

GMappedje stejný jako Mapped Pokud je 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íčovou součástí prvek v kontrolovaných sekvenci.

  • Mapovat
    Typ další součást prvek v kontrolovaných sekvenci.

Členy

Definice typu

Popis

map::const_iterator (STL/CLR)

Typ konstantního iterátoru řízené sekvence.

map::const_reference (STL/CLR)

Typ konstantního odkazu na prvek.

map::const_reverse_iterator (STL/CLR)

Typ konstantní zpětného iterátor pro řízené sekvenci.

map::difference_type (STL/CLR)

Typ (pravděpodobně podepsaný) vzdálenost mezi dvěma prvky.

map::generic_container (STL/CLR)

Typ obecné rozhraní pro kontejner.

map::generic_iterator (STL/CLR)

Typ iterátor pro obecné rozhraní pro kontejner.

map::generic_reverse_iterator (STL/CLR)

Typ zpětného iterátor pro obecné rozhraní pro kontejner.

map::generic_value (STL/CLR)

Typ elementu pro obecné rozhraní pro kontejner.

map::iterator (STL/CLR)

Typ iterátoru řízené sekvence.

map::key_compare (STL/CLR)

Objednávání delegát pro dva klíče.

map::key_type (STL/CLR)

Typ klíče řazení.

map::mapped_type (STL/CLR)

Typ mapované hodnoty přiřazené ke každému klíči.

map::reference (STL/CLR)

Typ odkazu na prvek.

map::reverse_iterator (STL/CLR)

Typ zpětného iterátor pro řízené sekvenci.

map::size_type (STL/CLR)

Typ (kladné) vzdálenost mezi dvěma prvky.

map::value_compare (STL/CLR)

Objednávání delegát pro dvě hodnoty prvku.

map::value_type (STL/CLR)

Typ prvku.

Členská funkce

Popis

map::begin (STL/CLR)

Označí začátek řízené sekvenci.

map::clear (STL/CLR)

Odebere všechny prvky.

map::count (STL/CLR)

Počítá prvky odpovídající zadaným klíčem.

map::empty (STL/CLR)

Zkoušky zda jsou žádné prvky obsahují.

map::end (STL/CLR)

Označí konci řízené sekvence.

map::equal_range (STL/CLR)

Zjistí rozsah, který odpovídá zadaným klíčem.

map::erase (STL/CLR)

Odebere prvky v určených polohách.

map::find (STL/CLR)

Vyhledá prvek, který odpovídá zadaným klíčem.

map::insert (STL/CLR)

Přidá prvky.

map::key_comp (STL/CLR)

Zkopíruje objednávání delegát pro dva klíče.

map::lower_bound (STL/CLR)

Začátek zjistí rozsah, který odpovídá zadaným klíčem.

map::make_value (STL/CLR)

Vytvoří objekt hodnoty.

map::map (STL/CLR)

Vytvoří objekt kontejneru.

map::rbegin (STL/CLR)

Označí začátek řízené obrácené pořadí.

map::rend (STL/CLR)

Označí konci obrácené řízené sekvence.

map::size (STL/CLR)

Vrátí počet prvků.

map::swap (STL/CLR)

Zamění obsah dvou kontejnerů.

map::to_array (STL/CLR)

Řízené sekvenci se zkopíruje do nového pole.

map::upper_bound (STL/CLR)

Zjistí-li konec rozsahu, který odpovídá zadaným klíčem.

map::value_comp (STL/CLR)

Zkopíruje objednávání delegát pro dvě hodnoty prvku.

Operátor

Popis

map::operator= (STL/CLR)

Nahradí řízené sekvenci.

map::operator[] (STL/CLR)

Mapuje jeho přidružené namapovaná hodnota klíče.

operator!= (map) – operátor (STL/CLR)

Určuje, zda map objekt není rovno druhé map objektu.

operator< (map) – operator (STL/CLR)

Určuje, zda map objekt je menší než jiný map objektu.

operator<= (map) – operátor (STL/CLR)

Určuje, zda map objekt je menší než nebo rovno druhé map objektu.

operator== (map) – operátor (STL/CLR)

Určuje, zda map objekt je rovno druhé map objektu.

operator> (map) – operátor (STL/CLR)

Určuje, zda map je větší než jiný objekt map objektu.

operator>= (map) – operátor (STL/CLR)

Určuje, zda map objekt je větší než nebo rovno druhé map objektu.

Rozhraní

Rozhraní

Popis

ICloneable

Duplicitní objekt.

IEnumerable

Úsek mezi prvky.

ICollection

Udržujte skupiny prvků.

IEnumerable

Úsek přes zadaný prvky.

ICollection

Udržujte skupiny typových prvků.

IDictionary

Udržovat skupinu {klíč hodnota} páry.

ITree<klíč, hodnota>

Udržujte obecný kontejner.

Poznámky

Objekt přiděluje a uvolňuje úložiště pro sekvence, které ovládá jako jednotlivé uzly.Vloží prvky na (téměř) vyvážený strom, který udržuje uspořádaný změnou propojení mezi uzly nikdy zkopírováním obsahu z jednoho uzlu do druhého.To znamená, že můžete vložit a odebrat prvky volně bez narušení zbývající prvky.

Objekt příkazy sekvence ovládá pomocí volání uložené delegát objekt typu map::key_compare (STL/CLR).Uložené delegát objekt můžete určit při vytváření map; -li zadán žádný objekt delegáta, výchozí hodnota je porovnání operator<(key_type, key_type).Přístup k této uložené objekt voláním členské funkce map::key_comp (STL/CLR)().

Takový objekt delegáta musí ukládat přísné slabé objednání na klíče typ map::key_type (STL/CLR).To znamená pro libovolné dva klíče X a Y:

key_comp()(X, Y)Vrátí výsledek stejné logická hodnota při každém volání.

Pokud key_comp()(X, Y) je true, pak key_comp()(Y, X) musí být false.

Pokud key_comp()(X, Y) je true, pak X se říká objednat před Y.

Pokud !key_comp()(X, Y) && !key_comp()(Y, X) je true, pak X a Y jsou tvrdil, že mají odpovídající řazení.

Pro každý prvek X , předchází Y v řízené sekvenci key_comp()(Y, X) false. (U objektu výchozí delegáta klíče nikdy sníží hodnota.) Na rozdíl od šablony třídy map (STL/CLR), objekt třídy šablony map nevyžaduje, že jsou jedinečné klíče pro všechny prvky. (Dvě nebo více kláves mohou mít ekvivalentní řazení.)

Každý prvek obsahuje samostatný klíč a hodnotu mapované.Pořadí je reprezentován způsobem, který umožňuje vyhledávání, vložení a odebrání libovolného prvku s počet operací, které jsou úměrné logaritmu počtu prvků v posloupnosti (logaritmické času).Kromě toho vložení prvku přestanou platit žádné iterátory a odebrání prvku zruší platnost pouze iterátory, které odkazují na odebraný prvek.

Mapa podporuje obousměrné iterátory, což znamená, že jste se přesunuli do sousedící prvky uvedené iterace, který určuje prvek v kontrolovaných sekvenci.Speciální hlavního uzlu odpovídá iterátor vrácené map::end (STL/CLR)().Tento iterační dosáhnout poslední prvek v kontrolovaných sekvenci, lze snížit, pokud je k dispozici.Mapa iterátor pro dosažení hlavního uzlu můžete zvýšit a bude pak porovnat rovná end().Ale nelze přistoupit přes ukazatel vrácené iterace end().

Všimněte si, že nemůže odkazovat na element mapy přímo uvedeny číselné pozice – která vyžaduje iterační náhodný přístup.

Mapa iterátor uloží popisovač přidružené mapování uzlu, který zase obsahuje úchyt na jeho přidružené kontejnerové.U iterátorů lze použít pouze jejich přidružené kontejnerové objekty.Mapa iterátor zůstává v platnosti tak dlouho, dokud jeho přidružené mapování uzel přidružen některé mapy.Navíc platný iterátor je dereferencable – slouží k přístupu nebo změnit hodnotu prvku jmenuje--tak dlouho, dokud není rovno end().

Mazání nebo odebrání prvku volání destruktoru jeho uložené hodnoty.Zničení kontejneru vymaže všechny prvky.Kontejner, jehož typ prvku ref class tedy zajišťuje, že žádné prvky outlive kontejneru.Uvědomte si však, že kontejner úchyty se not zničit jeho prvků.

Požadavky

Záhlaví:<cliext/mapa>

Obor názvů: cliext

Viz také

Referenční dokumentace

hash_map (STL/CLR)

hash_map (STL/CLR)

hash_multiset (STL/CLR)

hash_set (STL/CLR)

map (STL/CLR)

multiset (STL/CLR)

set (STL/CLR)

Další zdroje

STL/CLR – Referenční dokumentace knihoven