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_typeKey[edit]
value_typeKey[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_compareCompare[edit]
value_compareCompare[edit]
allocator_typeAllocator[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 Constant LegacyBidirectionalIterator[edit]
const_iterator Constant BidirectionalIterator[edit]
reverse_iteratorstd::reverse_iterator<iterator>[edit]
const_reverse_iteratorstd::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]
close