Przestrzenie nazw
Warianty

std::multiset::multiset

Z cppreference.com
<tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody>
(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.

1) Domyślny konstruktor. Konstruuje pusty kontener.
2) Konstruktor przedziałowy. Konstruuje kontener z zawartością przedziału [first, last).
3) Konstruktor kopiujący. Konstruuje kontener z kopią zawartości other. If alloc is not provided, allocator is obtained by calling std::allocator_traits<allocator_type>::select_on_container_copy_construction(other.get_allocator()).
4) Konstruktor przenoszący. Constructs the container with the contents of other using move semantics. If alloc is not provided, allocator is obtained by move-construction from the allocator belonging to other.
5) Konstruktor z listy inicjalizacyjnej. Konstruuje kontener z zawartością listy inicjalizacyjnej init.

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

Zobacz także

przypisuje wartości do kontenera
(publiczna metoda) [edit]
Morty Proxy This is a proxified and sanitized view of the page, visit original site.