[#bsl-unordered_multiset-06c-2constructor-0ab] = xref:bsl.adoc[bsl]::xref:bsl/unordered_multiset-06c.adoc[unordered_multiset]::unordered_multiset :relfileprefix: ../../ :mrdocs: Constructors == Synopses Declared in `<bslstl_unorderedmultiset.h>` Create an empty unordered multiset. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multiset-06c/2constructor-09e.adoc[unordered_multiset](); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-09e.adoc[_» more..._]# Create an unordered multiset as a copy of `original`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multiset-06c/2constructor-00.adoc[unordered_multiset](xref:bsl/unordered_multiset-06c.adoc[unordered_multiset] const& original); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-00.adoc[_» more..._]# Create an unordered multiset by moving from `original`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multiset-06c/2constructor-0e0d.adoc[unordered_multiset](xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef<unordered_multiset>] original); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-0e0d.adoc[_» more..._]# Create an empty unordered multiset using the specified `basicAllocator`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- explicit xref:bsl/unordered_multiset-06c/2constructor-0c.adoc[unordered_multiset](ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-0c.adoc[_» more..._]# Same as the preceding overload, using the specified allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multiset-06c/2constructor-017.adoc[unordered_multiset]( xref:bsl/unordered_multiset-06c/size_type.adoc[size_type] initialNumBuckets, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-017.adoc[_» more..._]# Create an unordered multiset by moving from `original` with `basicAllocator`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multiset-06c/2constructor-075.adoc[unordered_multiset]( xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef<unordered_multiset>] original, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-075.adoc[_» more..._]# Create a copy of `original` using `basicAllocator`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multiset-06c/2constructor-03a.adoc[unordered_multiset]( xref:bsl/unordered_multiset-06c.adoc[unordered_multiset] const& original, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-03a.adoc[_» more..._]# Create an unordered multiset from the specified `values` initializer list using `basicAllocator`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class = void> requires bsl::IsStdAllocator<ALLOCATOR>::value xref:bsl/unordered_multiset-06c/2constructor-0a9.adoc[unordered_multiset]( std::initializer_list<KEY> values, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-0a9.adoc[_» more..._]# Same as the preceding overload, using the specified allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_multiset-06c/2constructor-071.adoc[unordered_multiset]( xref:bsl/unordered_multiset-06c/size_type.adoc[size_type] initialNumBuckets, HASH const& hashFunction, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-071.adoc[_» more..._]# Same as the preceding overload, using the specified allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITERATOR> xref:bsl/unordered_multiset-06c/2constructor-0e09.adoc[unordered_multiset]( INPUT_ITERATOR first, INPUT_ITERATOR last, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-0e09.adoc[_» more..._]# Same as the preceding overload, using the specified allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class RANGE> xref:bsl/unordered_multiset-06c/2constructor-0e1.adoc[unordered_multiset]( std::from_range_t tag, RANGE&& range, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-0e1.adoc[_» more..._]# Same as the preceding overload, using the specified allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class = void> requires bsl::IsStdAllocator<ALLOCATOR>::value xref:bsl/unordered_multiset-06c/2constructor-036.adoc[unordered_multiset]( std::initializer_list<KEY> values, xref:bsl/unordered_multiset-06c/size_type.adoc[size_type] initialNumBuckets, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-036.adoc[_» more..._]# Same as the preceding overload, using the specified bucket count and hash/equality functors. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- explicit xref:bsl/unordered_multiset-06c/2constructor-02.adoc[unordered_multiset]( xref:bsl/unordered_multiset-06c/size_type.adoc[size_type] initialNumBuckets, HASH const& hashFunction = HASH(), EQUAL const& keyEqual = EQUAL(), ALLOCATOR const& basicAllocator = ALLOCATOR()); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-02.adoc[_» more..._]# Same as the preceding overload, using the specified allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITERATOR> xref:bsl/unordered_multiset-06c/2constructor-019.adoc[unordered_multiset]( INPUT_ITERATOR first, INPUT_ITERATOR last, xref:bsl/unordered_multiset-06c/size_type.adoc[size_type] initialNumBuckets, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-019.adoc[_» more..._]# Same as the preceding overload, using the specified allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class RANGE> xref:bsl/unordered_multiset-06c/2constructor-018.adoc[unordered_multiset]( std::from_range_t tag, RANGE&& range, xref:bsl/unordered_multiset-06c/size_type.adoc[size_type] initialNumBuckets, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-018.adoc[_» more..._]# Same as the preceding overload, using the specified allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class = void, class = void> requires std::is_invocable_v<HASH, const KEY &> && bsl::IsStdAllocator<ALLOCATOR>::value xref:bsl/unordered_multiset-06c/2constructor-0e3.adoc[unordered_multiset]( std::initializer_list<KEY> values, xref:bsl/unordered_multiset-06c/size_type.adoc[size_type] initialNumBuckets, HASH const& hashFunction, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-0e3.adoc[_» more..._]# Same as the preceding overload without a key‐equality functor. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITERATOR> xref:bsl/unordered_multiset-06c/2constructor-04a.adoc[unordered_multiset]( INPUT_ITERATOR first, INPUT_ITERATOR last, xref:bsl/unordered_multiset-06c/size_type.adoc[size_type] initialNumBuckets, HASH const& hashFunction, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-04a.adoc[_» more..._]# Create an unordered multiset from `range` with hash and allocator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class RANGE> xref:bsl/unordered_multiset-06c/2constructor-06.adoc[unordered_multiset]( std::from_range_t tag, RANGE&& range, xref:bsl/unordered_multiset-06c/size_type.adoc[size_type] initialNumBuckets, HASH const& hashFunction, ALLOCATOR const& basicAllocator); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-06.adoc[_» more..._]# Create an unordered multiset from the specified `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_multiset-06c/2constructor-047.adoc[unordered_multiset]( std::initializer_list<KEY> values, xref:bsl/unordered_multiset-06c/size_type.adoc[size_type] initialNumBuckets = 0, HASH const& hashFunction = HASH(), EQUAL const& keyEqual = EQUAL(), ALLOCATOR const& basicAllocator = ALLOCATOR()); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-047.adoc[_» more..._]# Create an unordered multiset from the specified iterator range. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class INPUT_ITERATOR> xref:bsl/unordered_multiset-06c/2constructor-0aa.adoc[unordered_multiset]( INPUT_ITERATOR first, INPUT_ITERATOR last, xref:bsl/unordered_multiset-06c/size_type.adoc[size_type] initialNumBuckets = 0, HASH const& hashFunction = HASH(), EQUAL const& keyEqual = EQUAL(), ALLOCATOR const& basicAllocator = ALLOCATOR()); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-0aa.adoc[_» more..._]# Create an unordered multiset from the specified `range`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class RANGE> xref:bsl/unordered_multiset-06c/2constructor-090.adoc[unordered_multiset]( std::from_range_t tag, RANGE&& range, xref:bsl/unordered_multiset-06c/size_type.adoc[size_type] initialNumBuckets = 0, HASH const& hashFunction = HASH(), EQUAL const& keyEqual = EQUAL(), ALLOCATOR const& basicAllocator = ALLOCATOR()); ---- [.small]#xref:bsl/unordered_multiset-06c/2constructor-090.adoc[_» more..._]# == Parameters [cols="1,4"] |=== | Name| Description | *original* | unordered multiset to copy | *basicAllocator* | the allocator used to supply memory | *initialNumBuckets* | the initial number of buckets | *values* | initializer list of keys to insert | *hashFunction* | the hash function | *first* | the start of the iterator range | *last* | one past the end of the iterator range | *tag* | disambiguation tag selecting the range constructor | *range* | input range of elements to insert | *keyEqual* | the key‐equality functor |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#