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
Konstruktory
Konstrukce multimap to znamená prázdné nebo je kopie všech nebo části některých jiných multimap. |
Definice Typedef
Typ, který představuje allocator třídou pro multimap objektu. |
|
Typ, který poskytuje obousměrný iterátor, která mohou číst const prvek multimap. |
|
Typ, který obsahuje ukazatel na const prvek multimap. |
|
Typ, který obsahuje odkaz na const element uložené v multimap pro čtení a provádění const operace. |
|
Typ, který poskytuje obousměrný iterátor, která mohou číst všechny const prvek multimap. |
|
Typu signed integer, který lze použít k reprezentaci počet prvků multimap v oblasti mezi prvky, které odkazuje iterátorů. |
|
Typ, který obsahuje rozdíl mezi dvěma iterátory, které odkazují na prvky v rámci stejného multimap. |
|
Typ, který poskytuje funkce objektu, který lze porovnat dva klíče řazení určit relativní pořadí dvou prvků v multimap. |
|
Typ, který popisuje objekt klíče řazení, který představuje každý prvek multimap. |
|
Typ, který představuje typ dat, které jsou uloženy v multimap. |
|
Typ, který obsahuje ukazatel na const prvek multimap. |
|
Typ, který obsahuje odkaz na prvek uložené v multimap. |
|
Typ, který poskytuje obousměrný iterátor, který lze číst nebo upravovat prvek reverzní multimap. |
|
Typu celé číslo bez znaménka, která obsahuje ukazatel na const prvek multimap. |
|
Typ, který poskytuje funkce objektu, který lze porovnat dva prvky jako klíče řazení k určení jejich relativní pořadí v multimap. |
Členské funkce
Vrátí iterace adresování první prvek multimap. |
|
Vrátí const iterátor adresování první prvek multimap. |
|
Vrátí argument iterátor, který řeší umístění následných poslední prvek v multimap. |
|
Vymaže všechny prvky multimap. |
|
Vrátí počet prvků multimap jejíž klíč shoduje s klíčem zadán parametr. |
|
Vrátí const iterátor adresování první prvek reverzní multimap. |
|
Vrátí const iterátor, který řeší umístění následných poslední prvek v reverzní multimap. |
|
Vloží prvek vyrobeno na místě do multimap. |
|
Vloží prvek vyrobeno na místě do multimap, naznačuje, umístění |
|
Zkoušky, pokud multimap je prázdný. |
|
Vrátí iterátor, který řeší umístění následných posledního prvku multimap. |
|
Najde rozsahu prvků, kde klíče prvku odpovídá zadané hodnotě. |
|
Odebere prvek nebo rozsahu prvků v multimap od zadané pozice nebo odebere prvky, které odpovídají zadaným klíčem. |
|
Vrátí iterace adresování první umístění prvku v multimap , který má klíč ekvivalentní klávesa. |
|
Vrátí kopii allocator objekt, který slouží k sestavení multimap. |
|
Vloží prvek nebo rozsahu prvků do multimap. |
|
Získá kopii objektu porovnání slouží k objednávce klíčů v multimap. |
|
Vrátí iterace na první prvek multimap , s klíčem, který je roven nebo větší než zadaný klíč. |
|
Vrátí maximální délku multimap. |
|
Vrátí iterace adresování první prvek reverzní multimap. |
|
Vrátí iterátor, který řeší umístění následných poslední prvek v reverzní multimap. |
|
Vrátí počet prvků multimap. |
|
Vyměňuje prvky ze dvou multimaps. |
|
Vrátí iterace na první prvek multimap , s klíčem, který je větší než zadaný klíč. |
|
Členská funkce vrací funkce objektu, který určuje pořadí prvků v multimap porovnáním jejich hodnot klíče. |
Operátory
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++