multiset Class
Standardní šablona knihovny, kterou Multimnožinové třída je použita pro ukládání a načítání dat z kolekce, které hodnoty obsažených prvků nemusí být jedinečné a které mohou sloužit jako hodnoty klíče, kterými jsou data automaticky objednané.Hodnota klíče prvku multimnožina může změnit přímo.Místo toho musí být odstraněny staré hodnoty a vložené prvky novými hodnotami.
template <
class Key,
class Compare=less<Key>,
class Allocator=allocator<Key>
>
class multiset
Parametry
Klíč
Typ datového prvku uložené v multimnožina.Compare
Typ, který poskytuje funkce objektu, který lze porovnat dvě hodnoty prvku jako klíče řazení určit jejich relativní pořadí, multimnožina.Binárního predikátu méně<Key> výchozí hodnotu.Allocator
Typ objektu uložených přidělování, které zapouzdřuje podrobnosti o přidělování a navracení zpět paměti multimnožina.Výchozí hodnota je přidělování*<Key>.*
Poznámky
STL Multimnožinové třída je:
Asociativní kontejnerem, což je velikost proměnné kontejner, který podporuje efektivní načtení hodnoty prvku na základě přidružené hodnoty klíče.
Vrátit zpět, protože poskytuje u iterátorů obousměrný přístup k jeho prvky.
Seřazeny, protože jeho prvky jsou seřazeny podle hodnot klíčů v kontejneru v souladu s zadaný porovnávací funkce.
Více v tom smyslu, že jeho prvky nemusí mít jedinečné klíče tak, aby jedna hodnota klíče může mít mnoho hodnot prvku.
Jednoduchá asociativní kontejneru klíče hodnoty jsou hodnoty prvku.
Šablona třídy, protože poskytuje funkce je obecný a tak nezávislé na konkrétní typ dat jako prvky obsažené.Typ dat, který má být použit, místo toho zadána jako parametr šablony třídy spolu s funkce porovnání a přidělování.
Iterační poskytované Multimnožinové třídy je obousměrný iterace, ale funkce členů třídy Vložit a multimnožina verze, které jako parametry šablony slabší vstupní iterace, jejichž funkce požadavky jsou minimální více než zaručených třídou u iterátorů obousměrné.Iterační odlišné koncepty tvoří rodiny spojených zpřesnění jejich funkčnosti.Každý pojem iterační má vlastní sadu požadavky a algoritmy, které s nimi pracovat, musí omezit jejich předpoklady podle typu iterační požadavky.Může předpokládat, že může vstupní iterační odkázat na některé objekt přímo odkázat a může být zvýšen na další iterace v sekvenci.Toto je minimální sadu funkcí, ale je dostatečně srozumitelně komunikovat o rozsahu u iterátorů [_First, _Last) v kontextu funkce členů dané třídy.
Volba typu kontejner by obecně založené na typu hledání a vložením požadovaného aplikací.Asociativní kontejnery jsou optimalizovány pro operace vyhledávání, vkládání a odstraňování.Funkce členů, které výslovně podporují tyto operace jsou účinné provádění je v době, která je v průměru úměrný logaritmu počet prvků v kontejneru.Vkládání prvků přestanou platit žádné u iterátorů a odstraňování elementů zruší platnost pouze ty u iterátorů, které bylo speciálně nepočítá prvky odstraněny.
Asociativní kontejneru při splnění podmínek jejich klíče Přiřazení hodnoty voleb splňuje aplikací by měly být multimnožina.Prvky multimnožina může být více a sloužit jako vlastní klíče řazení tak klíče nejsou jedinečné.Pro tento typ konstrukce modelu je uspořádaný seznam, slova říci, v nichž slova může dojít k více než jednou.Bylo více výskytů slova byl zakázán, potom sadu by byla struktura odpovídající kontejner.Pokud jedinečné definice byly připojeny jako hodnoty do seznamu slov jedinečný klíč, mapy by vhodné struktury obsahují tato data.Pokud místo definice nebyly jedinečný, vícenásobné mapování by kontejner voleb.
Pořadí ovládacích prvků pomocí volání uložené funkce objektu typu objednávky multimnožina Compare.Tento objekt uložené je porovnání funkce, která může být přístupné volání funkce člena key_comp.Obecně třeba pouze menší než srovnatelné zavést toto pořadí prvků: tak, aby, jakékoli dva prvky, ji může stanovit jsou rovnocenné (v tom smyslu, že ani menší než ostatní) nebo že jeden je menší než ostatní.Výsledkem objednávání mezi prvky nonequivalent.Na další technické poznámky je funkce porovnání binárního predikátu, indukuje přísné slabé řazení v standardní matematickém smyslu.Binárního predikátu f(x,y) je funkce objektu, který má dva objekty argument x a y a vrácená hodnota true nebo false.Uložená sada řazení je přísné slabá objednávání Pokud binárního predikátu nereflexivní antisymetrického a přenositelné a pokud rovnocennosti je přenosné, kde dva objekty x a y jsou definovány za rovnocenný, kdy obě f(x, y) a f(y, x) jsou nepravdivé.Pokud nahradí silnější podmínku rovnosti mezi klíči, rovnocennosti, pořadí se stane celkem (v tom smyslu, že jsou všechny prvky uspořádány s ohledem na sebe) a odpovídající klíče budou od sebe indiscernible.
Konstruktory
Konstrukce multiset je prázdné nebo je kopírovat všechny nebo část zadaného multiset. |
Funkce TypeDef
Definice typedef pro allocator pro třídy multiset objektu. |
|
Typedef pro iterační obousměrné, kterou lze přečíst const prvek multiset. |
|
Definice typedef pro ukazatel na const prvek multiset. |
|
Definice typedef odkaz na const prvku jsou uloženy v multiset pro čtení a provádění const operací. |
|
Definice typedef pro obousměrný iterace, který můžete číst libovolný const prvek multiset. |
|
Typedef znaménkem počet prvků multiset v rozsahu mezi prvky odkazuje u iterátorů. |
|
Definice typedef pro obousměrný iterace, který lze číst nebo upravovat libovolný prvek v multiset. |
|
Definice typedef funkci objektu, který lze porovnat dva klíče k určení relativní pořadí dvou prvků multiset. |
|
Definice typedef funkci objektu, který lze porovnat dva klíče řazení určit relativní pořadí dvou prvků multiset. |
|
Definice typedef pro ukazatel na prvek multiset. |
|
Definice typu odkazu na prvek uložené v multiset. |
|
Definice typedef pro obousměrný iterace, mohou číst nebo upravovat prvek obrácené multiset. |
|
Celé číslo bez znaménka typu, která představuje počet prvků multiset. |
|
Definice typedef funkci objektu, který lze porovnat dva prvky jako klíče řazení určit jejich relativní pořadí v multiset. |
|
Definice typu, který popisuje objekt uložený jako element jako multiset jako hodnotu. |
Metody
Vrátí iterace odkazující na první prvek multiset. |
|
Vymaže všechny prvky multiset. |
|
Vrátí počet prvků multiset jehož klíč odpovídá zadán jako parametr klíč. |
|
Pokud testy multiset je prázdný. |
|
Vrátí iterace, která odkazuje na umístění po posledním prvkem multiset. |
|
Vrátí dvojici u iterátorů.První iterace pár bodů na první prvek multiset s klíčem, který je větší než zadaný klíč.Druhý iterační pár bodů na první prvek multiset s klíčem, který je roven nebo větší než klíč. |
|
Odstraní prvek nebo prvky v oblasti multiset od zadané pozice nebo odebere prvky, které odpovídají zadaným klíčem. |
|
Vrátí iterace odkazující na umístění prvního prvku v multiset klíče rovná klávesa, která má. |
|
Vrátí kopii allocator objekt, který slouží k sestavení multiset. |
|
Vloží prvek nebo prvky do oblasti multiset. |
|
Poskytuje funkci objektu, který lze porovnat dva klíče řazení určit relativní pořadí dvou prvků multiset. |
|
Iterace se vrátí na první prvek multiset s klíčem, který je roven nebo větší než zadaný klíč. |
|
Vrátí maximální délku multiset. |
|
Vrátí iterace odkazující na prvním prvkem obrácené multiset. |
|
Vrátí iterace odkazující na umístění následných posledního prvku obrácené multiset. |
|
Vrátí počet prvků multiset. |
|
Výměny prvky dvou multisets. |
|
Iterace se vrátí na první prvek multiset s klíčem, který je větší než zadaný klíč. |
|
Načte porovnání objektu, který používá pořadí hodnot prvek v kopii multiset. |
Požadavky
Záhlaví: <set>
Obor názvů: std
Viz také
Referenční dokumentace
Bezpečnostní vlákno v Standardní knihovna C++