Create a multiset from the range [first, last)].

Synopsis

Declared in <bslstl_multiset.h>

template<class INPUT_ITERATOR>
multiset(
    INPUT_ITERATOR first,
    INPUT_ITERATOR last,
    COMPARATOR const& comparator = COMPARATOR(),
    ALLOCATOR const& basicAllocator = ALLOCATOR());

Description

Create a multiset, and insert each value_type object in the sequence starting at the specified first element, and ending immediately before the specified last element. Optionally specify a comparator used to order keys contained in this object. If comparator is not supplied, a default‐constructed object of the (template parameter) type COMPARATOR is used. Optionally specify a basicAllocator used to supply memory. If basicAllocator is not supplied, a default‐constructed object of the (template parameter) type ALLOCATOR is used. If the type ALLOCATOR is bsl::allocator and basicAllocator is not supplied, the currently installed default allocator is used. If the sequence first to last is ordered according to comparator, then this operation has O[N] complexity, where N is the number of elements between first and last, otherwise this operation has O[N * log(N)] complexity. The (template parameter) type INPUT_ITERATOR shall meet the requirements of an input iterator defined in the C++11 standard [24.2.3]providing access to values of a type convertible to value_type, and value_type must be emplace‐constructible from *i into this multiset, where i is a dereferenceable iterator in the range [first .. last)] (see {Requirements on KEY}). The behavior is undefined unless first and last refer to a sequence of valid values where first is at a position at or before last. Note that a bslma::Allocator * can be supplied for basicAllocator if the type ALLOCATOR is bsl::allocator (the default).

Parameters

Name

Description

first

beginning of the input range

last

end of the input range

comparator

key‐ordering comparator for this multiset

basicAllocator

allocator used to supply memory

Created with MrDocs