Udostępnij za pośrednictwem


set (STL/CLR)

Klasa szablon opisuje obiekt, który kontroluje różnicowania długość sekwencji elementów z dostępem do dwukierunkowego.Użyj kontener set Zarządzanie sekwencja elementów jako (prawie) zrównoważony zamówione drzewo węzłów, w każdym przechowywania jeden element.

W polu Opis poniżej GValue jest taka sama jak GKey, który z kolei jest taka sama, jak Key o ile ten ostatni typ odwołania, w którym to przypadku jest 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

  • Klucz
    Typ elementu w kontrolowanej sekwencji kluczowym składnikiem.

Elementy członkowskie

Definicja typu

Opis

set::const_iterator (STL/CLR)

Typ iteratora stałego dla kontrolowanej sekwencji.

set::const_reference (STL/CLR)

Typ stałego odwołania do elementu.

set::const_reverse_iterator (STL/CLR)

Typ stałej sterująca wstecznego w kontrolowanej sekwencji.

set::difference_type (STL/CLR)

Typ (ewentualnie podpisanego) odległość między dwoma elementami.

set::generic_container (STL/CLR)

Typ rodzajowy interfejs dla kontenera.

set::generic_iterator (STL/CLR)

Typ iteratora rodzajowy interfejsów dla kontenera.

set::generic_reverse_iterator (STL/CLR)

Typ wstecznego sterująca rodzajowy interfejsów dla kontenera.

set::generic_value (STL/CLR)

Typ elementu dla rodzajowego interfejsu dla kontenera.

set::iterator (STL/CLR)

Typ iteratora dla kontrolowanej sekwencji.

set::key_compare (STL/CLR)

Zamawianie delegat na dwa klucze.

set::key_type (STL/CLR)

Typ klucza sortowania.

set::reference (STL/CLR)

Typ odwołania do elementu.

set::reverse_iterator (STL/CLR)

Typ wstecznego sterująca w kontrolowanej sekwencji.

set::size_type (STL/CLR)

Typ (ujemna) odległości między dwoma elementami.

set::value_compare (STL/CLR)

Zamawianie delegowanego dla dwóch wartości elementu.

set::value_type (STL/CLR)

Typ elementu.

Funkcji członka

Opis

set::begin (STL/CLR)

Określa początek kontrolowanej sekwencji.

set::clear (STL/CLR)

Usuwa wszystkie elementy.

set::count (STL/CLR)

Zlicza elementy pasujące do określonego klucza.

set::empty (STL/CLR)

Badania, czy elementy nie są obecnie.

set::end (STL/CLR)

Określa koniec kontrolowanej sekwencji.

set::equal_range (STL/CLR)

Wyszukuje zakresu, który odpowiada określonym kluczem.

set::erase (STL/CLR)

Usuwa elementy na określonych pozycjach.

set::find (STL/CLR)

Wyszukuje elementem, który pasuje do określonego klucza.

set::insert (STL/CLR)

Dodaje elementy.

set::key_comp (STL/CLR)

Kopiuje zamawiania delegat na dwa klucze.

set::lower_bound (STL/CLR)

Znajduje początek zakresu, który odpowiada określonym kluczem.

set::make_value (STL/CLR)

Konstrukcje obiektu wartości.

set::rbegin (STL/CLR)

Określa początek odwrócone kontrolowanej sekwencji.

set::rend (STL/CLR)

Określa koniec odwrócone kontrolowanej sekwencji.

set::set (STL/CLR)

Konstruuje obiekt kontenera.

set::size (STL/CLR)

Oblicza liczbę elementów.

set::swap (STL/CLR)

Zamienia zawartość dwa kontenery.

set::to_array (STL/CLR)

Kopiuje kontrolowanej sekwencji do nowej tablicy.

set::upper_bound (STL/CLR)

Znajduje koniec zakresu, który odpowiada określonym kluczem.

set::value_comp (STL/CLR)

Kopiuje zamawiania delegowanego dla dwóch wartości elementu.

Operator

Opis

set::operator= (STL/CLR)

Zastępuje kontrolowanej sekwencji.

operator!= (set) (STL/CLR)

Określa, czy set obiekt nie jest równa innej set obiektu.

operator< (set) (STL/CLR)

Określa, czy set obiekt jest mniejsza niż innego set obiektu.

operator<= (set) (STL/CLR)

Określa, czy set obiekt jest mniejsza lub równa drugiemu set obiektu.

operator== (set) (STL/CLR)

Określa, czy set obiekt jest równa innej set obiektu.

operator> (set) (STL/CLR)

Określa, czy set obiekt jest większy niż inny set obiektu.

operator>= (set) (STL/CLR)

Określa, czy set obiektu jest większa niż lub równa innej set obiektu.

Interfejsy

Interfejs

Opis

ICloneable

Duplikowanie obiektów.

IEnumerable

Sekwencji przez elementy.

ICollection

Obsługa grupy elementów.

IEnumerable

Sekwencji przez elementy maszynowy.

ICollection

Obsługa grupy elementów maszynowy.

ITree<klucz, wartość>

Obsługa rodzajowy kontenera.

Uwagi

Obiekt przydziela i zwalnia pamięci masowej w sekwencji, które kontroluje jako pojedynczych węzłów.Wstawia elementy do drzewa (prawie) zrównoważony, który utrzymuje zamówione przez zmianę łączy między węzłami nigdy, kopiując zawartość z jednego węzła do innego.Oznacza to można wstawiać i usunąć elementy swobodnie bez pozostałych pierwiastków przeszkadzających.

Obiekt zamówienia sekwencji kontroluje przez wywołanie obiektu delegowanego przechowywanych typu set::key_compare (STL/CLR).Można okreolić obiekt przechowywanych delegata podczas konstruowania zestawu; Jeśli określisz żadnego obiektu delegowanego, wartością domyślną jest porównanie operator<(key_type, key_type).Dostęp do przechowywanej obiektu przez wywołanie funkcji członka set::key_comp (STL/CLR)().

Obiektu delegowanego musi nakładać ścisłe słabe zamawiania kluczy typu set::key_type (STL/CLR).Oznacza to, że dla dwóch dowolnych kluczy X i Y:

key_comp()(X, Y)Zwraca wartość Boolean samego wyniku przy każdym wywołaniu.

Jeśli key_comp()(X, Y) ma wartość true, a następnie key_comp()(Y, X) musi mieć wartość false.

Jeśli key_comp()(X, Y) ma wartość true, a następnie X mówi się, że zamówiony przed Y.

Jeśli !key_comp()(X, Y) && !key_comp()(Y, X) ma wartość true, a następnie X i Y mówi się, że zamawianie równoważne.

Dla dowolnego elementu X czy poprzedza Y w kontrolowanej sekwencji key_comp()(Y, X) ma wartość false. (Dla domyślnego obiektu delegowanego, klucze nigdy nie spadek wartości.) W odróżnieniu od szablonu klasy set (STL/CLR), obiekt klasy szablon set nie wymaga, aby były unikatowe klucze dla wszystkich elementów. (Dwóch lub więcej klawiszy może mieć zamawianie równoważne).

Każdy element służy zarówno jako ey i wartość.Sekwencja jest reprezentowana w sposób, który pozwala na wyszukiwanie, wstawiania i usuwania dowolnego elementu z wielu operacji proporcjonalna do logarytmu liczby elementów w sekwencji (logarytmicznej czasu).Ponadto Wstawianie elementu powoduje unieważnienie nie Iteratory i usunięcie elementu unieważnienie tylko Iteratory, które wskazuje na element usunięty.

Zestaw obsługuje Iteratory dwukierunkowe, co oznacza, że można przejść do sąsiednich elementów, biorąc pod uwagę iterację opisująca elementu w kontrolowanej sekwencji.Specjalne węzła głównego odpowiada sterująca zwrócone przez set::end (STL/CLR)().To sterująca do osiągnięcia ostatniego elementu w kontrolowanej sekwencji można zmniejszyć, jeśli jest obecna.Mógł zwiększyć wartość sterująca zestaw, aby dotrzeć do węzła głównego, a następnie porównaj równa end().Ale nie cofnięcia odwołania sterująca zwrócone przez end().

Należy zauważyć, że nie może odwoływać się do elementu zestawu bezpośrednio biorąc pod uwagę jego pozycję numeryczny--wymagającej sterująca dostępie losowym.

Sterująca zestaw przechowuje dojście do jego węzeł skojarzony zestaw, który z kolei przechowuje dojście do jego skojarzony kontenera.Iteratory można użyć tylko z ich kontenera skojarzone obiekty.Sterująca zestaw zachowuje ważność tak długo, jak długo jego węzeł skojarzony zestaw wiąże się z pewnym zbiorze.Ponadto, prawidłowe iteratora jest dereferencable--służy do dostępu lub zmienić wartość elementu wyznacza ona--tak długo, jak nie jest równa end().

Wymazywanie lub usunięcie elementu wywołuje destruktor dla swojej przechowywanej wartości.Niszczenie kontenera powoduje wymazanie wszystkich elementów.W efekcie kontenera, którego typ elementu jest klasą ref daje pewność, że elementy nie przeżyje kontenera.Należy jednak zauważyć, że kontener uchwyty nie not zniszczyć jego elementów.

Wymagania

Nagłówek:<cliext/set>

Przestrzeń nazw: cliext

Zobacz też

Informacje

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)

Inne zasoby

Odwołanie do biblioteki STL/CLR