[#bsl-unordered_multimap-0b0-2constructor-06] = xref:bsl.adoc[bsl]::xref:bsl/unordered_multimap-0b0.adoc[unordered_multimap]::unordered_multimap :relfileprefix: ../../ :mrdocs: Constructors == Synopses Declared in `<bslstl_unorderedmultimap.h>` Create an empty unordered multimap. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multimap-0b0/2constructor-0f.adoc[unordered_multimap](); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-0f.adoc[_» more..._]# Create an unordered multimap as a copy of `original`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multimap-0b0/2constructor-02b.adoc[unordered_multimap](xref:bsl/unordered_multimap-0b0.adoc[unordered_multimap] const& original); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-02b.adoc[_» more..._]# Create an unordered multimap by moving from `original`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multimap-0b0/2constructor-01.adoc[unordered_multimap](xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef<unordered_multimap>] original); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-01.adoc[_» more..._]# Create an empty unordered multimap using `basicAllocator`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- explicit xref:bsl/unordered_multimap-0b0/2constructor-0ab6.adoc[unordered_multimap](ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-0ab6.adoc[_» more..._]# Create an empty unordered multimap with buckets and allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multimap-0b0/2constructor-022.adoc[unordered_multimap]( xref:bsl/unordered_multimap-0b0/size_type.adoc[size_type] initialNumBuckets, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-022.adoc[_» more..._]# Create an unordered multimap by moving from `original` using `basicAllocator`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multimap-0b0/2constructor-030.adoc[unordered_multimap]( xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef<unordered_multimap>] original, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-030.adoc[_» more..._]# Create a copy of `original` using `basicAllocator`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multimap-0b0/2constructor-0c.adoc[unordered_multimap]( xref:bsl/unordered_multimap-0b0.adoc[unordered_multimap] const& original, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-0c.adoc[_» more..._]# Create an unordered multimap from `values` using `basicAllocator`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class = void> requires bsl::IsStdAllocator_v<ALLOCATOR> xref:bsl/unordered_multimap-0b0/2constructor-0ab9.adoc[unordered_multimap]( std::initializer_list<value_type> values, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-0ab9.adoc[_» more..._]# Create an empty unordered multimap with hash and allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multimap-0b0/2constructor-0b4.adoc[unordered_multimap]( xref:bsl/unordered_multimap-0b0/size_type.adoc[size_type] initialNumBuckets, HASH const& hashFunction, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-0b4.adoc[_» more..._]# Create an unordered multimap from `[first, last)]` using `basicAllocator`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITERATOR> xref:bsl/unordered_multimap-0b0/2constructor-04.adoc[unordered_multimap]( INPUT_ITERATOR first, INPUT_ITERATOR last, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-04.adoc[_» more..._]# Create an unordered multimap from `range` using `basicAllocator`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class RANGE> xref:bsl/unordered_multimap-0b0/2constructor-037.adoc[unordered_multimap]( std::from_range_t tag, RANGE&& range, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-037.adoc[_» more..._]# Create an unordered multimap from `values` with bucket count and allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class = void> requires bsl::IsStdAllocator_v<ALLOCATOR> xref:bsl/unordered_multimap-0b0/2constructor-07.adoc[unordered_multimap]( std::initializer_list<value_type> values, xref:bsl/unordered_multimap-0b0/size_type.adoc[size_type] initialNumBuckets, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-07.adoc[_» more..._]# Create an empty unordered multimap with the specified options. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- explicit xref:bsl/unordered_multimap-0b0/2constructor-09d.adoc[unordered_multimap]( xref:bsl/unordered_multimap-0b0/size_type.adoc[size_type] initialNumBuckets, HASH const& hashFunction = HASH(), EQUAL const& keyEqual = EQUAL(), ALLOCATOR const& basicAllocator = ALLOCATOR()); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-09d.adoc[_» more..._]# Create an unordered multimap from `[first, last)]` with buckets and allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITERATOR> xref:bsl/unordered_multimap-0b0/2constructor-05.adoc[unordered_multimap]( INPUT_ITERATOR first, INPUT_ITERATOR last, xref:bsl/unordered_multimap-0b0/size_type.adoc[size_type] initialNumBuckets, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-05.adoc[_» more..._]# Create an unordered multimap from `range` with bucket count and allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class RANGE> xref:bsl/unordered_multimap-0b0/2constructor-002.adoc[unordered_multimap]( std::from_range_t tag, RANGE&& range, xref:bsl/unordered_multimap-0b0/size_type.adoc[size_type] initialNumBuckets, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-002.adoc[_» more..._]# Create an unordered multimap from `values` with hash and allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class = void, class = void> requires std::is_invocable_v<HASH, const KEY &> && bsl::IsStdAllocator_v<ALLOCATOR> xref:bsl/unordered_multimap-0b0/2constructor-090.adoc[unordered_multimap]( std::initializer_list<value_type> values, xref:bsl/unordered_multimap-0b0/size_type.adoc[size_type] initialNumBuckets, HASH const& hashFunction, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-090.adoc[_» more..._]# Create an unordered multimap from `[first, last)]` with hash and allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITERATOR> xref:bsl/unordered_multimap-0b0/2constructor-0e.adoc[unordered_multimap]( INPUT_ITERATOR first, INPUT_ITERATOR last, xref:bsl/unordered_multimap-0b0/size_type.adoc[size_type] initialNumBuckets, HASH const& hashFunction, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-0e.adoc[_» more..._]# Create an unordered multimap from `range` with hash and allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class RANGE> xref:bsl/unordered_multimap-0b0/2constructor-08.adoc[unordered_multimap]( std::from_range_t tag, RANGE&& range, xref:bsl/unordered_multimap-0b0/size_type.adoc[size_type] initialNumBuckets, HASH const& hashFunction, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-08.adoc[_» more..._]# Create an unordered multimap from the `values` initializer list. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class = void, class = void, class = void> requires std::is_invocable_v<HASH, const KEY &> && std::is_invocable_v<EQUAL, const KEY &, const KEY &> && bsl::IsStdAllocator_v<ALLOCATOR> xref:bsl/unordered_multimap-0b0/2constructor-021.adoc[unordered_multimap]( std::initializer_list<value_type> values, xref:bsl/unordered_multimap-0b0/size_type.adoc[size_type] initialNumBuckets = 0, HASH const& hashFunction = HASH(), EQUAL const& keyEqual = EQUAL(), ALLOCATOR const& basicAllocator = ALLOCATOR()); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-021.adoc[_» more..._]# Create an unordered multimap from the range `[first, last)]`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITERATOR> xref:bsl/unordered_multimap-0b0/2constructor-00c.adoc[unordered_multimap]( INPUT_ITERATOR first, INPUT_ITERATOR last, xref:bsl/unordered_multimap-0b0/size_type.adoc[size_type] initialNumBuckets = 0, HASH const& hashFunction = HASH(), EQUAL const& keyEqual = EQUAL(), ALLOCATOR const& basicAllocator = ALLOCATOR()); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-00c.adoc[_» more..._]# Create an unordered multimap from the elements of `range`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class RANGE> xref:bsl/unordered_multimap-0b0/2constructor-0b3.adoc[unordered_multimap]( std::from_range_t tag, RANGE&& range, xref:bsl/unordered_multimap-0b0/size_type.adoc[size_type] initialNumBuckets = 0, HASH const& hashFunction = HASH(), EQUAL const& keyEqual = EQUAL(), ALLOCATOR const& basicAllocator = ALLOCATOR()); ---- [.small]#xref:bsl/unordered_multimap-0b0/2constructor-0b3.adoc[_» more..._]# == Parameters [cols="1,4"] |=== | Name| Description | *original* | unordered multimap to copy | *basicAllocator* | allocator used to supply memory | *initialNumBuckets* | minimum initial number of buckets | *values* | initializer list of elements to insert | *hashFunction* | hash function for keys | *first* | beginning of the range to copy | *last* | end of the range to copy | *tag* | disambiguation tag for range construction | *range* | input range of key/value pairs to insert | *keyEqual* | key‐equality functor |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#