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. |