std::multiset::multiset
| (1) | ||
explicit multiset( const Compare& comp = Compare(), {{#pad:|17}} const Allocator& alloc = Allocator() ); |
||
explicit multiset( const Allocator& alloc ); |
(1) | (od C++11) |
| (2) | ||
template< class InputIterator > multiset( InputIterator first, InputIterator last, {{#pad:|8}} const Compare& comp = Compare(), {{#pad:|8}} const Allocator& alloc = Allocator() ); |
||
multiset( const multiset& other ); |
(3) | |
multiset( const multiset& other, const Allocator& alloc ); |
(3) | (od C++11) |
multiset( multiset&& other ); |
(4) | (od C++11) |
multiset( multiset&& other, const Allocator& alloc ); |
(4) | (od C++11) |
| (5) | ||
multiset( std::initializer_list<value_type> init, {{#pad:|8}} const Compare& comp = Compare(), {{#pad:|8}} const Allocator& alloc = Allocator() ); |
(od C++11) | |
Konstruuje nowy kontener z różnych źródeł danych, opcjonalnie wykorzystując dostarczony przez użytkownika alokator alloc i/lub obiekt funkcji porównującej comp.
std::allocator_traits<allocator_type>::select_on_container_copy_construction(other.get_allocator()).Spis treści
Parametry
| alloc | - | alokator używany do wszystkich alokacji pamięci wykonywanych przez ten kontener |
| comp | - | obiekt funkcji porównującej, wykorzystywany przy wszystkich porównaniach kluczy |
| first, last | - | przedział, z którego zostają skopiowane elementy |
| other | - | inny kontener, wykorzystywany jako źródło, z którego inicjalizowane są elementy kontenera |
| init | - | lista inicjalizacyjna, do zainicjowania wartości elementów kontenera |
| Wymagania względem typów | ||
| -InputIterator musi spełniać wymagania InputIteratorerator. | ||
| -Compare musi spełniać wymagania Compare. | ||
| -Allocator musi spełniać wymagania Allocator. |
Złożoność
1) Stała
2) N log(N), gdzie N = std::distance(first, last) ogólnie, liniowa względem N jeśli przedział jest już posortowany zgodnie z value_comp().
3) Liniowa względem rozmiaru other
4) Stała. Jeśli alloc jest podany i alloc != other.get_allocator(), liniowa.
5) N log(N), gdzie N = init.size()) ogólnie, liniowa względem N jeśli init jest już posortowana zgodnie z value_comp().
Wyjątki
Wywołania Allocator::allocate mogą wyrzucić wyjątki.
Notka
Po skonstruowaniu kontenera przez przeniesienie (przeciążenie (4)), referencje, wskaźniki i iteratory (inne niż "past-the-end") do other pozostają prawidłowe, ale wskazują na elementy znajdujące się teraz w *this. Obecny standard gwarantuje to przez oświadczenie zbiorcze w §23.2.1[container.requirements.general]/12, i bardziej bezpośrednia gwarancja jest wzięta pod uwagę: LWG 2321.
Przykład
| Ta sekcja jest niedokończona.
Powód: brak przykładu |
Zobacz także
| przypisuje wartości do kontenera (publiczna metoda) |