Biblioteka C ++ - <set>

Wprowadzenie

ZA setto kontener asocjacyjny, który zawiera posortowany zestaw unikatowych obiektów typu Key. Każdy element może wystąpić tylko raz, więc duplikaty nie są dozwolone.

Istnieją cztery rodzaje kontenerów asocjacyjnych: zestaw, multiset, mapa i multimapa.

Wartość elementów w zestawie nie może być modyfikowana raz w kontenerze, tzn. Elementy są zawsze stałe. Ale można je włożyć lub wyjąć z pojemnika.

Kontenery set są generalnie wolniejsze niż kontenery unordered_set w dostępie do poszczególnych elementów za pomocą ich klucza, ale pozwalają na bezpośrednią iterację podzbiorów w oparciu o ich kolejność.

Definicja

Poniżej znajduje się definicja std :: set z pliku nagłówkowego <set>

template < 
    class Key,
    class Compare = std::less<Key>,
    class Allocator = std::allocator<Key>
> class set;

Parametry

  • Key - Typ zawartego elementu.

    Klucz można zastąpić dowolnym innym typem danych, w tym typem zdefiniowanym przez użytkownika.

Typy członków

Następujące typy elementów członkowskich mogą być używane jako parametry lub zwracane typy przez funkcje składowe.

Sr.No. Typy członków Definicja
1 typ klucza Klucz
2 typ wartości Klucz
3 odniesienie Allocator :: reference

typ wartości&

4 const_reference Allocator :: const_reference

const value_type &

5 wskaźnik Allocator :: pointer

std :: Alokator_traits <Allocator> :: pointer

6 const_pointer Allocator :: const_pointer

std :: Alokator_traits <Allocator> :: const_pointer

7 iterator DwukierunkowyIterator
8 const_iterator stała BidirectionalIterator
9 reverse_iterator std :: reverse_iterator <iterator>
10 const_reverse_iterator std :: reverse_iterator <const_iterator>
11 typ_rozmiaru Typ liczby całkowitej bez znaku (std :: size_t)
12 typ_różnicy Signed Integer Type (std :: ptrdiff_t)
13 key_compare Porównać
14 porównanie_wartości Porównać
15 Alokator_typ Alokator

Funkcje z <set>

Poniżej znajduje się lista wszystkich metod z nagłówka <set>.

FUNKCJE CZŁONKOWSKIE

DEFAULT MEMBER FUNCTIONS

Sr.No. Metoda i opis
1 Konstruktor domyślny

Konstruuje kontener zestawu.

2 Konstruktor zakresu

Konstruuje zestaw kontenerów z zawartością zakresu.

3 Konstruktor kopiujący

Konstruuje kontener zestawu z kopią innego zestawu.

4 Konstruktor ruchu

Konstruuje kontener zestawu z zawartością innego zestawu przy użyciu semantyki przenoszenia.

5 Konstruktor listy inicjalizacyjnej

Konstruuje kontener zestawu z zawartością listy inicjalizatora.

6 (burzyciel)

Niszczy ustawiony pojemnik.

7 operator =

Przypisuje wartości do ustawionego kontenera.

ITERATORZY

Sr.No. Metoda i opis
1 set :: begin

Przywraca iterator do początku.

2 zestaw :: cbegin

Zwraca iterator const na początek.

3 set :: end

Zwraca iterator do końca.

4 zestaw :: cend

Zwraca iterator const do końca.

5 zestaw :: rbegin

Zwraca iterator odwrotny do odwrotnego początku.

6 zestaw :: crbegin

Zwróć const reverse iterator, aby odwrócić początek.

7 set :: rend

Zwraca odwrotny iterator do odwrotnego końca.

8 set :: crend

Zwraca iterator odwrócenia const odwrotnego końca.

POJEMNOŚĆ

Sr.No. Metoda i opis
1 set :: empty

Zwraca, gdy ustawiony kontener jest pusty.

2 zestaw :: rozmiar

Zwraca liczbę elementów w ustawionym kontenerze.

3 set :: max_size

Zwraca maksymalną liczbę elementów, które może pomieścić ustawiony kontener.

MODYFIKATORY

Sr.No. Metoda i opis
1 set :: clear

Usuwa wszystkie elementy z pojemnika zestawu.

2 zestaw :: wstaw

Wstawia nowy element do kontenera zestawu.

3 set :: emplace

Wstawia nowy element do zestawu, jeśli jest unikalny.

4 set :: emplace_hint

Wstawia do zestawu nowy element, jeśli jest unikalny, ze wskazówką dotyczącą pozycji wstawienia.

5 set :: erase

Usuwa pojedynczy element lub zakres elementów z kontenera zestawu.

6 set :: swap

Zamienia zawartość kontenera na zawartość innego zestawu kontenera tego samego typu.

WYSZUKAJ

Sr.No. Metoda i opis
1 set :: count

Zwraca liczbę elementów o pasującej wartości w ustawionym kontenerze.

2 zestaw :: znajdź

Przeszukuje kontener zestawu pod kątem wartości i zwraca do niego iterator, jeśli zostanie znaleziony, w przeciwnym razie zwraca iterator do set :: end.

3 set :: lower_bound

Zwraca iterator wskazujący na pierwszy element w kontenerze zestawu, który nie znajduje się przed wartością.

4 set :: upper_bound

Zwraca iterator wskazujący na pierwszy element w kontenerze zestawu, który jest uważany za znajdujący się za wartością.

5 set :: equal_range

Zwraca granice zakresu obejmującego wszystkie elementy w kontenerze zestawu, które są równoważne wartości.

OBSERWATORZY

Sr.No. Metoda i opis
1 set :: key_comp

Zwraca kopię obiektu porównania używanego przez kontener zestawu.

2 set :: value_comp

Zwraca kopię obiektu porównania używanego przez kontener zestawu.

ALOKATOR

Sr.No. Metoda i opis
1 set :: get_allocator

Zwraca kopię obiektu alokatora skojarzonego z kontenerem zestawu.