Przestrzenie nazw
Warianty
Działania

std::multiset

Z cppreference.com
< cpp‎ | container
Zdefiniowane w nagłówku <set>
template<

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

> class multiset;
(1)

std::multiset (multizbiór) jest kontenerem asocjacyjnym, zawierającym posortowany zbiór obiektów typu Key. W przeciwieństwie do kontenera std::set, możliwe jest przechowywanie wielu elementów o tej samej wartości. Elementy są sortowane na podstawie funkcji porównującej Compare. Operacje znajdowania, wstawiania i usuwania elementów mają złożoność logarytmiczną.

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

Kolejność elementów równoważnych przy porównaniu jest taka, jak kolejność ich wstawiania i nie podlega zmianie. (od C++11)

std::multiset spełnia wymagania Container, AllocatorAwareContainer, AssociativeContainer i ReversibleContainer.

Spis treści

[edytuj] Typy składowe

Typ składowy Definicja
key_type Key [edit]
value_type Key [edit]
size_type Typ całkowitoliczbowy bez znaku (zwykle std::size_t) [edit]
difference_type Typ całkowitoliczbowy ze znakiem (zwykle std::ptrdiff_t) [edit]
key_compare Compare [edit]
value_compare Compare [edit]
allocator_type Allocator [edit]
reference
Allocator::reference (do C++11)
value_type& (od C++11)
[edit]
const_reference
Allocator::const_reference (do C++11)
const value_type& (od C++11)
[edit]
pointer
Allocator::pointer (do C++11)
std::allocator_traits<Allocator>::pointer (od C++11)
[edit]
const_pointer
Allocator::const_pointer (do C++11)
std::allocator_traits<Allocator>::const_pointer (od C++11)
[edit]
iterator
BidirectionalIterator (do C++11)
Constant BidirectionalIterator (od C++11)
[edit]
const_iterator Constant BidirectionalIterator [edit]
reverse_iterator std::reverse_iterator<iterator> [edit]
const_reverse_iterator std::reverse_iterator<const_iterator> [edit]

[edytuj] Metody

Konstruuje multiset
(publiczna metoda) [edit]
Niszczy multiset
(publiczna metoda) [edit]
przypisuje wartości do kontenera
(publiczna metoda) [edit]
zwraca skojarzony alokator
(publiczna metoda) [edit]
Iteratory
zwraca iterator na początek kontenera
(publiczna metoda) [edit]
zwraca iterator za koniec kontenera
(publiczna metoda) [edit]
zwraca odwrócony iterator na początek
(publiczna metoda) [edit]
zwraca odwrócony iterator za koniec kontenera
(publiczna metoda) [edit]
Pojemność
sprawdza, czy kontener jest pusty
(publiczna metoda) [edit]
zwraca liczbę elementów
(publiczna metoda) [edit]
zwraca maksymalną możliwą liczbę elementów
(publiczna metoda) [edit]
Modyfikatory
czyści zawartość
(publiczna metoda) [edit]
wstawia elementy
(publiczna metoda) [edit]
(C++11)
konstruuje element "w miejscu"
(publiczna metoda) [edit]
tworzy elementy "w miejscu", korzystając z podpowiedzi
(publiczna metoda) [edit]
usuwa elementy
(publiczna metoda) [edit]
zamienia zawartość
(publiczna metoda) [edit]
Przeszukiwanie
zwraca liczbę elementów o podanym kluczu
(publiczna metoda) [edit]
znajduje element ze wskazanym kluczem
(publiczna metoda) [edit]
zwraca przedział elementów o podanym kluczu
(publiczna metoda) [edit]
zwraca iterator na pierwszy element nie mniejszy niż dany klucz
(publiczna metoda) [edit]
zwraca iterator na pierwszy element większy niż dany klucz
(publiczna metoda) [edit]
Obserwatory
zwraca funkcję porównującą klucze
(publiczna metoda) [edit]
zwraca funkcję porównującą klucze obiektów typu value_type
(publiczna metoda) [edit]

[edytuj] Funkcje operujące na zawartości

leksykograficznie porównuje wartości w multiset
(szablon funkcji) [edit]
specjalizacja dla algorytmu std::swap
(szablon funkcji) [edit]