To jest stara wersja strony!
MULTISET
Opis
Multiset - multizbior.
Multiset jest kontenerem asocjacyjnym, w którym przechowywane są elementy typu Key. Multiset jest również kontenerem, w którym możne występować dwa lub więcej elementów o takim samym kluczu.
Definicja
Multiset jest zdefiniowany w standardowym nagłówku set oraz w niestandardowym kompatybilnym wstecz nagłówku multiset.h
Parametry szablonowe
std::multiset<Key,Compare,Alloc>
Key
Jest typem jaki jest przechowywany w multizbiorze. Jest również zdefiniowana jako multiset::key_type oraz multiset::value_type.
Key musi spełniać następujące wymagania:
posiadać konstruktor kopiujący
posiadać operator przypisania
udostępniać funkcje void swap(Key,Key) która zamienia miejscami elementu podane jako argumenty
Compare
Jest typem za pomocą którego określa się kolejność przechowywanych elementów. Jest również zdefiniowana jako multiset::key_compare oraz multiset::value_compare. Domyślna wartość to: less<T> .
Compare musi spełniać następujące wymagania:
posiadać operator wywolania funkcyjnego bool operator()(Key,Key) który zwraca true, gdy pierwszy argument jest mniejszy od drugiego, a w przeciwnym przypadku zwraca false
Alloc
Jest to alokator używany do zarządzania pamięcią. Domyślna wartość to alloc .
Typy
Iteratory
Zdefiniowane są następujące typy iteratorów:
multiset::iterator - pozwala na sekwencyjny dostęp do elementów multizbioru
multiset::const_iterator - pozwala na sekwencyjny dostęp do elementów multizbioru (bez możliwości zmiany ich)
multiset::reverse_iterotor - pozwala na sekwencyjny dostęp do elementów multizbioru (od końca do początku)
multiset::const_reverse_iterator - pozwala na sekwencyjny dostęp do elementów multizbioru (od końca do początku, bez możliwości zmiany ich)
Referencje
Zdefiniowane są następujące typy referencji:
Inne
Inne zdefiniowane typy to:
multiset::key_compare , multiset::value_compare - typ określający sposób porównywania elementów
multiset::key_type ,multiset::value_type - typ przechowywanych elementów
multiset::size_type - typ określający odległość pomiędzy elementami (nieujemna)
multiset::difference_type - typ określający odległość pomiędzy elementami (może być ze znakiem)
Przykładowy program z zastosowaniem