std::set
Z cppreference.com
<tbody>
</tbody>
| Zdefiniowane w nagłówku <set>
|
||
template< class Key, class Compare = std::less<Key>, class Allocator = std::allocator<Key> > class set; |
(1) | |
std::set (zbiór) jest kontenerem asocjacyjnym, zawierającym posortowany zbiór unikalnych obiektów typu Key. Elementy są sortowane na podstawie funkcji porównującej Compare. Operacje znajdowanie, wstawiania i usuwanie elementów mają złożoność logarytmiczną. Zbiory są zazwyczaj implementowane jako drzewa czerwono-czarne.
Wszędzie, gdzie w bibliotece standardowej wykorzystywany jest koncept Compare, unikalność jest sprawdzana korzystając z relacji równoważności. Dwa obiekty a i b są uważane za równoważne, jeśli żaden z nich nie jest mniejszy od drugiego: !comp(a, b) && !comp(b, a).
std::set spełnia wymogi Container, AllocatorAwareContainer, AssociativeContainer i ReversibleContainer.
Typy składowe
| Typ składowy | Definicja | ||||
| key_type | Key | ||||
| value_type | Key | ||||
| size_type | Typ całkowitoliczbowy bez znaku (zwykle std::size_t) | ||||
| difference_type | Typ całkowitoliczbowy ze znakiem (zwykle std::ptrdiff_t) | ||||
| key_compare | Compare | ||||
| value_compare | Compare | ||||
| allocator_type | Allocator | ||||
| reference |
| ||||
| const_reference |
| ||||
| pointer |
| ||||
| const_pointer |
| ||||
| iterator | Constant LegacyBidirectionalIterator | ||||
| const_iterator | Constant BidirectionalIterator | ||||
reverse_iterator
|
std::reverse_iterator<iterator>
| ||||
const_reverse_iterator
|
std::reverse_iterator<const_iterator>
|
Metody
| Konstruuje set (publiczna metoda) | |
| Niszczy set (publiczna metoda) | |
| przypisuje wartości do kontenera (publiczna metoda) | |
| zwraca skojarzony alokator (publiczna metoda) | |
Iteratory | |
| zwraca iterator na początek kontenera (publiczna metoda) | |
| zwraca iterator za koniec kontenera (publiczna metoda) | |
| zwraca odwrócony iterator na początek (publiczna metoda) | |
| zwraca odwrócony iterator za koniec kontenera (publiczna metoda) | |
Pojemność | |
| sprawdza, czy kontener jest pusty (publiczna metoda) | |
| zwraca liczbę elementów (publiczna metoda) | |
| zwraca maksymalną możliwą liczbę elementów (publiczna metoda) | |
Modyfikatory | |
| czyści zawartość (publiczna metoda) | |
| wstawia elementy (publiczna metoda) | |
(C++11) |
konstruuje element "w miejscu" (publiczna metoda) |
(C++11) |
tworzy elementy "w miejscu", korzystając z podpowiedzi (publiczna metoda) |
| usuwa elementy (publiczna metoda) | |
| zamienia zawartość (publiczna metoda) | |
Przeszukiwanie | |
| zwraca liczbę elementów o podanym kluczu (publiczna metoda) | |
| znajduje element ze wskazanym kluczem (publiczna metoda) | |
| zwraca przedział elementów o podanym kluczu (publiczna metoda) | |
| zwraca iterator na pierwszy element nie mniejszy niż dany klucz (publiczna metoda) | |
| zwraca iterator na pierwszy element większy niż dany klucz (publiczna metoda) | |
Obserwatory | |
| zwraca funkcję porównującą klucze (publiczna metoda) | |
| zwraca funkcję porównującą klucze obiektów typu value_type (publiczna metoda) | |
Funkcje operujące na zawartości
| leksykograficznie porównuje wartości w set (szablon funkcji) | |
| specjalizacja dla algorytmu std::swap (szablon funkcji) |