std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>::flat_multimap
: flat_multimap(key_compare()) { }
flat_multimap( const flat_multimap&, const Allocator& alloc );
flat_multimap( flat_multimap&&, const Allocator& alloc );
const key_compare& comp = key_compare() );
flat_multimap( const key_container_type& key_cont,
const mapped_container_type& mapped_cont,
flat_multimap( const key_container_type& key_cont,
const mapped_container_type& mapped_cont,
mapped_container_type mapped_cont,
flat_multimap( std::sorted_equivalent_t, const key_container_type& key_cont,
flat_multimap( std::sorted_equivalent_t, const key_container_type& key_cont,
const mapped_container_type& mapped_cont,
: c(), compare(comp) { }
flat_multimap( const key_compare& comp, const Allocator& alloc );
explicit flat_multimap( const Allocator& alloc );
flat_multimap( InputIter first, InputIter last,
const key_compare& comp = key_compare() )
flat_multimap( InputIter first, InputIter last,
flat_multimap( InputIter first, InputIter last, const Allocator& alloc );
flat_multimap( std::from_range_t, R&& rg, const key_compare& comp )
flat_multimap( std::from_range_t fr, R&& rg )
flat_multimap( std::from_range_t, R&& rg, const Allocator& alloc );
flat_multimap( std::from_range_t, R&& rg, const key_compare& comp,
flat_multimap( std::sorted_equivalent_t s, InputIter first, InputIter last,
const key_compare& comp = key_compare() )
flat_multimap( std::sorted_equivalent_t s, InputIter first, InputIter last,
flat_multimap( std::sorted_equivalent_t s, InputIter first, InputIter last,
const key_compare& comp = key_compare() )
flat_multimap( std::initializer_list <value_type> init, const key_compare& comp,
flat_multimap( std::initializer_list <value_type> init, const Allocator& alloc );
const key_compare& comp = key_compare() )
flat_multimap( std::sorted_equivalent_t s, std::initializer_list <value_type> init,
flat_multimap( std::sorted_equivalent_t s, std::initializer_list <value_type> init,
Constructs new container adaptor from a variety of data sources and optionally using user supplied comparison function object comp and/or allocator alloc.
c
with the copy of the contents of other.c and compare
with other.compare.
See allocator usage note below.c.keys
with std::move(key_cont), c.values
with std::move(mapped_cont), and compare
with comp. Then sorts the underlying range [
begin(),
end())
with respect to value_comp(). c.keys
with std::move(key_cont), c.values
with std::move(mapped_cont), and compare
with comp.[
first,
last)
, equivalent to insert(first, last);.c
with the contents of rg as if by insert_range(std::forward <R>(rg));.[
first,
last)
as if by insert(first, last).Note for overloads (13-15,20-22): If [
first,
last)
is not a valid range, the behavior is undefined.
[edit] Allocator usage note
The constructors (2,3,5,6,8,9,11,12,14,15,17,19,21,22,24,25,27,28) are equivalent to the corresponding non-allocator constructors except that the underlying containers c.keys
and c.values
are constructed with uses-allocator construction.
These overloads participate in overload resolution only if std::uses_allocator_v <container_type, Allocator> is true.
[edit] Parameters
flat_multimap
to be used as source to initialize the elements of the underlying containers with
input_range
whose elements are convertible to value_type
) to be used as source to initialize the underlying containers
InputIt
must meet the requirements of LegacyInputIterator.
Compare
must meet the requirements of Compare.
Allocator
must meet the requirements of Allocator.
[edit] Complexity
[
first,
last)
is sorted with respect to value_comp(), otherwise \(\scriptsize \mathcal{O}(N\cdot\log{(N)})\)O(N·log(N)), where \(\scriptsize N\)N is the value of key_cont.size() before this call.[
first,
last)
.[edit] Exceptions
Calls to Allocator::allocate
may throw.
[edit] Notes
After container move construction (overload (3)), references, pointers, and iterators (other than the end iterator) to other remain valid, but refer to elements that are now in *this. The current standard makes this guarantee via the blanket statement in [container.reqmts]/67, and a more direct guarantee is under consideration via LWG issue 2321.
[edit] Example
Reason: no example