[#bsl-unordered_multimap-0d6] = xref:bsl.adoc[bsl]::xref:bsl/unordered_multimap-0b0.adoc[unordered_multimap<KEY, VALUE, HASH, EQUAL, ALLOCATOR>] :relfileprefix: ../ :mrdocs: Deduce the template parameters `KEY` and `VALUE` from the `value_type` of the iterators supplied to the constructor of `unordered_multimap`. Deduce the template parameters `HASH`, `EQUAL` and `ALLOCATOR` from the other parameters passed to the constructor of `unordered_multimap`. This deduction guide does not participate unless the supplied allocator meets the requirements of a standard allocator. == Synopsis Declared in `<bslstl_unorderedmultimap.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class INPUT_ITERATOR, class KEY = xref:BloombergLP/bslstl/IteratorUtil/IterKey_t.adoc[BloombergLP::bslstl::IteratorUtil::IterKey_t<INPUT_ITERATOR>], class VALUE = xref:BloombergLP/bslstl/IteratorUtil/IterMapped_t.adoc[BloombergLP::bslstl::IteratorUtil::IterMapped_t<INPUT_ITERATOR>], class HASH = xref:bsl/hash-06.adoc[bsl::hash<KEY>], class EQUAL = xref:bsl/equal_to-0d.adoc[bsl::equal_to<KEY>], class ALLOCATOR = xref:bsl/allocator-0df.adoc[bsl::allocator<pair<KEY const, VALUE>>]> 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.adoc[unordered_multimap<KEY, VALUE, HASH, EQUAL, ALLOCATOR>]( INPUT_ITERATOR, INPUT_ITERATOR, bsl::allocator_traits<ALLOCATOR>::size_type, HASH, EQUAL, ALLOCATOR) -> xref:bsl/unordered_multimap-0b0.adoc[unordered_multimap<KEY, VALUE, HASH, EQUAL, ALLOCATOR>]; ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#