Sdílet prostřednictvím


multimap Class

Multimap třída knihovny standardních šablon slouží k ukládání a načítání dat z kolekce, ve kterém každý prvek je pár, který má hodnotu data a klíč řazení.Hodnota klíče nemusí být jedinečné a objednat data automaticky.Hodnota prvek vícenásobné mapování, ale ne jeho přidruženou hodnotu klíče, může se změnit přímo.Místo toho hodnoty klíče, které jsou spojené s původní prvky musí být odstraněna a nové hodnoty klíče související s novými prvky, které jsou vloženy.

template <
   class Key, 
   class Type, 
   class Traits=less<Key>, 
   class Allocator=allocator<pair <const Key, Type> > 
>
class multimap

Parametry

  • Klíč
    Klíče datový typ, který má být uložen v vícenásobné mapování.

  • Type
    Datový typ elementu má být uložen v vícenásobné mapování.

  • Traits
    Typ, který poskytuje funkce objektu, který lze porovnat dvě hodnoty elementu jako klíče řazení k určení jejich relativní pořadí v vícenásobné mapování.Binárního predikátu méně*<Key>* je výchozí hodnota.

  • Allocator
    Typ, který představuje uloženou přidělování objekt, který zapouzdřuje informace o přidělování a navracení zpět z paměti na mapě.Tento argument je nepovinný a výchozí hodnota je přidělování*<*pair *<*const klíče, zadejte příkaz > >.

Poznámky

Třída multimap STL je

  • Asociativní kontejneru, které proměnné velikosti kontejneru, který podporuje efektivní načtení hodnoty elementu podle přidružené klíče hodnoty.

  • Vrátit zpět, protože poskytuje obousměrné iterátorů přístup k jeho prvky.

  • Seřadit, protože jeho prvky jsou seřazeny podle hodnoty klíče v kontejneru podle zadané porovnání funkce.

  • Více, protože jeho prvky nemusí mít jedinečné klíče tak, aby jedna hodnota klíče může mít hodnoty dat mnoho elementů, které jsou s ním spojené.

  • Pár asociativní kontejneru, protože jeho hodnoty dat prvku se liší od jeho hodnoty klíče.

  • Třída šablony, protože poskytuje funkce je obecný a to nezávisle na určitý typ dat uložených jako prvky nebo klíče.Datové typy pro prvky a klíče jsou, místo toho zadány jako parametry v šabloně třídy a jejich funkce porovnání a přidělování.

Iterační poskytovaném třídou mapy je obousměrný iterátor, ale členské funkce třídy Vložení a vícenásobné mapování verzemi vzít jako parametry šablony slabší vstupní iterátor, jejichž požadavky funkce znamenají více než ty, které zaručuje, že třída obousměrných iterátorů.Koncepty různých iterátor tvoří řady se vztahují zpřesnění jejich funkčnosti.Každý koncept iterátor má vlastní sadu požadavků a algoritmy, které pracují s nimi musí omezit jejich předpoklady k požadavkům stanoveným podle tohoto typu iterator.Můžeme předpokládat, že může přímo odkázat vstupní iterátor odkázat na některý objekt a může být zvýšen na další iterační posloupnosti.Toto je minimální sadu funkcí, ale postačí moci hovořit srozumitelně o rozsahu iterátory, [_First, _Last) v rámci členské funkce třídy.

Volba typu kontejner by měl vycházet obecně typ vyhledávání a vkládání vyžadovaných aplikací.Asociativní kontejnery jsou optimalizovány pro operace vyhledávání, vkládání a odstraňování.Členské funkce, které explicitně podporují tyto operace jsou účinné, jejich provedení v čase, který je v průměru úměrné logaritmu počtu prvků v kontejneru.Vkládání prvků přestanou platit žádné iterátorů a odebrání prvků zruší platnost iterátory, které bylo výslovně nepočítá prvky odstraněny.

Vícenásobné mapování by měl být asociativní kontejneru výběr aplikací jsou splněny podmínky, přiřazení hodnoty k jejich klíče.Model pro tento typ struktury je uspořádaný seznam klíčová slova s přidružených řetězcových hodnot, které poskytuje, say, definice, kde nebyly slova vždy jednoznačně definovány.Je-li místo toho klíčová slova byly jednoznačně definovány tak, aby byly jedinečné klíče, mapy by kontejneru voleb.Je-li na druhé straně byly uloženy pouze seznam slov, sada by správné kontejneru.Pokud bylo povoleno více výskytů slova, by multimnožina struktury odpovídající kontejner.

Objednávky vícenásobné mapování sekvence ovládá pomocí volání uložené funkce objekt typu key_compare.Tento objekt uložené je porovnání funkce, které mohou být přístupné voláním členské funkce key_comp.Obecně třeba zavést tuto objednávku pouze menší než srovnatelné prvky: tak, aby, dvěma prvky, ji může stanovit že jsou rovnocenné (v tom smyslu, že ani menší než jiný) nebo že jeden je menší než ostatní.To vede řazení mezi nonequivalent prvky.Na další technické poznámky je funkce porovnání binárního predikátu, která indukuje přísné slabé řazení ve standardní matematickém smyslu.Binárního predikátu f(x, y) je funkce objektu, který má dva objekty argumentu x a y a návratovou hodnotu true nebo false.Řazení uložené sady je přísné slabým objednání Pokud binárního predikátu nereflexivní antisymetrického a přenositelné a je-li rovnocennost přenosné, kde dva objekty x a y jsou definovány jako rovnocenné, kdy obě f(x, y) a f(y, x) jsou nepravdivé.Je-li silnější podmínku rovnosti mezi klíči nahrazují rovnocennosti, řazení se stane celkem (v tom smyslu, že všechny prvky jsou uspořádány ve vztahu k sobě navzájem) a klávesy odpovídající bude indiscernible od sebe.

Členy

1ka6hya8.collapse_all(cs-cz,VS.110).gifKonstruktory

Vícenásobné mapování

Konstrukce multimap to znamená prázdné nebo je kopie všech nebo části některých jiných multimap.

1ka6hya8.collapse_all(cs-cz,VS.110).gifDefinice Typedef

allocator_type

Typ, který představuje allocator třídou pro multimap objektu.

const_iterator

Typ, který poskytuje obousměrný iterátor, která mohou číst const prvek multimap.

const_pointer

Typ, který obsahuje ukazatel na const prvek multimap.

const_reference

Typ, který obsahuje odkaz na const element uložené v multimap pro čtení a provádění const operace.

const_reverse_iterator

Typ, který poskytuje obousměrný iterátor, která mohou číst všechny const prvek multimap.

difference_type

Typu signed integer, který lze použít k reprezentaci počet prvků multimap v oblasti mezi prvky, které odkazuje iterátorů.

iterace

Typ, který obsahuje rozdíl mezi dvěma iterátory, které odkazují na prvky v rámci stejného multimap.

key_compare

Typ, který poskytuje funkce objektu, který lze porovnat dva klíče řazení určit relativní pořadí dvou prvků v multimap.

key_type

Typ, který popisuje objekt klíče řazení, který představuje každý prvek multimap.

mapped_type

Typ, který představuje typ dat, které jsou uloženy v multimap.

ukazatel

Typ, který obsahuje ukazatel na const prvek multimap.

odkaz

Typ, který obsahuje odkaz na prvek uložené v multimap.

reverse_iterator

Typ, který poskytuje obousměrný iterátor, který lze číst nebo upravovat prvek reverzní multimap.

size_type

Typu celé číslo bez znaménka, která obsahuje ukazatel na const prvek multimap.

value_type

Typ, který poskytuje funkce objektu, který lze porovnat dva prvky jako klíče řazení k určení jejich relativní pořadí v multimap.

1ka6hya8.collapse_all(cs-cz,VS.110).gifČlenské funkce

Začněte

Vrátí iterace adresování první prvek multimap.

multimap::cbegin

Vrátí const iterátor adresování první prvek multimap.

multimap::cend

Vrátí argument iterátor, který řeší umístění následných poslední prvek v multimap.

Vymazat

Vymaže všechny prvky multimap.

počet

Vrátí počet prvků multimap jejíž klíč shoduje s klíčem zadán parametr.

multimap::crbegin

Vrátí const iterátor adresování první prvek reverzní multimap.

multimap::crend

Vrátí const iterátor, který řeší umístění následných poslední prvek v reverzní multimap.

multimap::emplace

Vloží prvek vyrobeno na místě do multimap.

multimap::emplace_hint

Vloží prvek vyrobeno na místě do multimap, naznačuje, umístění

prázdné

Zkoušky, pokud multimap je prázdný.

Konec

Vrátí iterátor, který řeší umístění následných posledního prvku multimap.

equal_range

Najde rozsahu prvků, kde klíče prvku odpovídá zadané hodnotě.

Vymazat

Odebere prvek nebo rozsahu prvků v multimap od zadané pozice nebo odebere prvky, které odpovídají zadaným klíčem.

Najít

Vrátí iterace adresování první umístění prvku v multimap , který má klíč ekvivalentní klávesa.

get_allocator

Vrátí kopii allocator objekt, který slouží k sestavení multimap.

Vložit

Vloží prvek nebo rozsahu prvků do multimap.

key_comp

Získá kopii objektu porovnání slouží k objednávce klíčů v multimap.

lower_bound

Vrátí iterace na první prvek multimap , s klíčem, který je roven nebo větší než zadaný klíč.

max_size

Vrátí maximální délku multimap.

rbegin

Vrátí iterace adresování první prvek reverzní multimap.

rend

Vrátí iterátor, který řeší umístění následných poslední prvek v reverzní multimap.

size

Vrátí počet prvků multimap.

odkládací

Vyměňuje prvky ze dvou multimaps.

upper_bound

Vrátí iterace na první prvek multimap , s klíčem, který je větší než zadaný klíč.

value_comp

Členská funkce vrací funkce objektu, který určuje pořadí prvků v multimap porovnáním jejich hodnot klíče.

1ka6hya8.collapse_all(cs-cz,VS.110).gifOperátory

multimap::operator=

Nahradí prvky multimap s kopií jiného multimap.

Požadavky

Záhlaví: <map>

Obor názvů: std

(Klíče, hodnoty) páry jsou uloženy v vícenásobné mapování jako objekty typu pair.Třída pár vyžaduje hlavičky <utility>, která je automaticky zahrnuta ve <map>.

Viz také

Referenční dokumentace

Bezpečnostní vlákno v Standardní knihovna C++

Standardní šablona knihovny

Další zdroje

multimap členů

<map> Členové

Soubory hlaviček