Sdílet prostřednictvím


set (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 set ke správě pořadí prvků jako (téměř) vyvážené uspořádaný strom uzlů, každý ukládání jednoho prvku.

V popisu níže GValue je stejný jako GKey, který je stejný jako Key Pokud je typ odkazu, v takovém případě je Key^.

template<typename Key>
    ref class set
        :   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.

Členy

Definice typu

Popis

set::const_iterator (STL/CLR)

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

set::const_reference (STL/CLR)

Typ konstantního odkazu na prvek.

set::const_reverse_iterator (STL/CLR)

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

set::difference_type (STL/CLR)

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

set::generic_container (STL/CLR)

Typ obecné rozhraní pro kontejner.

set::generic_iterator (STL/CLR)

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

set::generic_reverse_iterator (STL/CLR)

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

set::generic_value (STL/CLR)

Typ elementu pro obecné rozhraní pro kontejner.

set::iterator (STL/CLR)

Typ iterátoru řízené sekvence.

set::key_compare (STL/CLR)

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

set::key_type (STL/CLR)

Typ klíče řazení.

set::reference (STL/CLR)

Typ odkazu na prvek.

set::reverse_iterator (STL/CLR)

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

set::size_type (STL/CLR)

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

set::value_compare (STL/CLR)

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

set::value_type (STL/CLR)

Typ prvku.

Členská funkce

Popis

set::begin (STL/CLR)

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

set::clear (STL/CLR)

Odebere všechny prvky.

set::count (STL/CLR)

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

set::empty (STL/CLR)

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

set::end (STL/CLR)

Označí konci řízené sekvence.

set::equal_range (STL/CLR)

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

set::erase (STL/CLR)

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

set::find (STL/CLR)

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

set::insert (STL/CLR)

Přidá prvky.

set::key_comp (STL/CLR)

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

set::lower_bound (STL/CLR)

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

set::make_value (STL/CLR)

Vytvoří objekt hodnoty.

set::rbegin (STL/CLR)

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

set::rend (STL/CLR)

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

set::set (STL/CLR)

Vytvoří objekt kontejneru.

set::size (STL/CLR)

Vrátí počet prvků.

set::swap (STL/CLR)

Zamění obsah dvou kontejnerů.

set::to_array (STL/CLR)

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

set::upper_bound (STL/CLR)

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

set::value_comp (STL/CLR)

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

Operátor

Popis

set::operator= (STL/CLR)

Nahradí řízené sekvenci.

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

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

operator< (set) (STL/CLR)

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

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

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

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

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

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

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

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

Určuje, zda set objekt je větší než nebo rovno druhé set 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 set::key_compare (STL/CLR).Uložené delegát objekt lze určit při vytvoření sady; -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 set::key_comp (STL/CLR)().

Takový objekt delegáta musí ukládat přísné slabé objednání na klíče typ set::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 set (STL/CLR), objekt třídy šablony set 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 slouží jako ey a hodnotu.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.

Sada 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é set::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 sada 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 prvku množiny přímo uvedeny číselné pozice – která vyžaduje iterační náhodný přístup.

Iterace sada uloží popisovač přidružené uzlu, který zase obsahuje úchyt na jeho přidružené kontejnerové.U iterátorů lze použít pouze jejich přidružené kontejnerové objekty.Sada iterátor zůstává v platnosti tak dlouho, dokud jeho přidružené uzel je spojen s libovolnou množinu.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/set>

Obor názvů: cliext

Viz také

Referenční dokumentace

hash_map (STL/CLR)

hash_set (STL/CLR)

hash_set (STL/CLR)

hash_set (STL/CLR)

map (STL/CLR)

set (STL/CLR)

set (STL/CLR)

Další zdroje

STL/CLR – Referenční dokumentace knihoven