Sdílet prostřednictvím


multimap (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 multimap 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 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

  • 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

multimap::const_iterator (STL/CLR)

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

multimap::const_reference (STL/CLR)

Typ konstantního odkazu na prvek.

multimap::const_reverse_iterator (STL/CLR)

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

multimap::difference_type (STL/CLR)

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

multimap::generic_container (STL/CLR)

Typ obecné rozhraní pro kontejner.

multimap::generic_iterator (STL/CLR)

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

multimap::generic_reverse_iterator (STL/CLR)

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

multimap::generic_value (STL/CLR)

Typ elementu pro obecné rozhraní pro kontejner.

multimap::iterator (STL/CLR)

Typ iterátoru řízené sekvence.

multimap::key_compare (STL/CLR)

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

multimap::key_type (STL/CLR)

Typ klíče řazení.

multimap::mapped_type (STL/CLR)

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

multimap::reference (STL/CLR)

Typ odkazu na prvek.

multimap::reverse_iterator (STL/CLR)

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

multimap::size_type (STL/CLR)

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

multimap::value_compare (STL/CLR)

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

multimap::value_type (STL/CLR)

Typ prvku.

Členská funkce

Popis

multimap::begin (STL/CLR)

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

multimap::clear (STL/CLR)

Odebere všechny prvky.

multimap::count (STL/CLR)

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

multimap::empty (STL/CLR)

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

multimap::end (STL/CLR)

Označí konci řízené sekvence.

multimap::equal_range (STL/CLR)

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

multimap::erase (STL/CLR)

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

multimap::find (STL/CLR)

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

multimap::insert (STL/CLR)

Přidá prvky.

multimap::key_comp (STL/CLR)

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

multimap::lower_bound (STL/CLR)

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

multimap::make_value (STL/CLR)

Vytvoří objekt hodnoty.

multimap::multimap (STL/CLR)

Vytvoří objekt kontejneru.

multimap::rbegin (STL/CLR)

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

multimap::rend (STL/CLR)

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

multimap::size (STL/CLR)

Vrátí počet prvků.

multimap::swap (STL/CLR)

Zamění obsah dvou kontejnerů.

multimap::to_array (STL/CLR)

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

multimap::upper_bound (STL/CLR)

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

multimap::value_comp (STL/CLR)

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

Operátor

Popis

multimap::operator= (STL/CLR)

Nahradí řízené sekvenci.

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

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

operator< (multimap) – operátor (STL/CLR)

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

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

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

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

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

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

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

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

Určuje, zda multimap objekt je větší než nebo rovno druhé multimap 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ů.

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 multimap::key_compare (STL/CLR).Uložené delegát objekt můžete určit při vytváření vícenásobné mapování; -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 multimap::key_comp (STL/CLR)().

Takový objekt delegáta musí ukládat přísné slabé objednání na klíče typ multimap::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 multimap 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.

Vícenásobné mapování 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é multimap::end (STL/CLR)().Tento iterační dosáhnout poslední prvek v kontrolovaných sekvenci, lze snížit, pokud je k dispozici.Můžete zvýšit multimap iterátor pro dosažení hlavního uzlu 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 prvek multimap přímo uvedeny číselné pozice – která vyžaduje iterační náhodný přístup.

Multimap iterátor obsahuje úchyt na jeho přidružený multimap uzlu, který zase obsahuje úchyt na jeho přidružené kontejnerové.U iterátorů lze použít pouze jejich přidružené kontejnerové objekty.Multimap iterátor zůstává v platnosti tak dlouho, dokud jeho přidružený uzel multimap souvisí s některé vícenásobné mapování.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_multimap (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