[#bsl-multimap-0f]
= xref:bsl.adoc[bsl]::xref:bsl/multimap-0ae.adoc[multimap&lt;KEY, VALUE, COMPARATOR, ALLOCATOR&gt;]
:relfileprefix: ../
:mrdocs:

Deduce `KEY`, `VALUE`, `COMPARATOR`, and `ALLOCATOR` from iterator&hyphen;pair construction&period;

== Synopsis

Declared in `&lt;bslstl&lowbar;multimap&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class INPUT&lowbar;ITERATOR,
    class KEY = xref:BloombergLP/bslstl/IteratorUtil/IterKey_t.adoc[BloombergLP::bslstl::IteratorUtil::IterKey&lowbar;t&lt;INPUT&lowbar;ITERATOR&gt;],
    class VALUE = xref:BloombergLP/bslstl/IteratorUtil/IterMapped_t.adoc[BloombergLP::bslstl::IteratorUtil::IterMapped&lowbar;t&lt;INPUT&lowbar;ITERATOR&gt;],
    class COMPARATOR = std::less&lt;KEY&gt;,
    class ALLOCATOR = xref:bsl/allocator-0df.adoc[bsl::allocator&lt;BloombergLP::bslstl::IteratorUtil::IterToAlloc&lowbar;t&lt;INPUT&lowbar;ITERATOR&gt;&gt;]&gt;
requires !bsl&colon;&colon;IsStdAllocator&lowbar;v&lt;COMPARATOR&gt; &amp;&amp; bsl&colon;&colon;IsStdAllocator&lowbar;v&lt;ALLOCATOR&gt;
xref:bsl/multimap-0ae.adoc[multimap&lt;KEY, VALUE, COMPARATOR, ALLOCATOR&gt;](
    INPUT&lowbar;ITERATOR,
    INPUT&lowbar;ITERATOR,
    COMPARATOR,
    ALLOCATOR) -> xref:bsl/multimap-0ae.adoc[multimap&lt;KEY, VALUE, COMPARATOR, ALLOCATOR&gt;];
----

== Description

Deduce the template parameters `KEY` and `VALUE` from the `value&lowbar;type` of the iterators supplied to the constructor of `multimap`&period; Deduce the template parameters `COMPARATOR` and `ALLOCATOR` from the other parameters passed to the constructor&period; This deduction guide does not participate unless the supplied allocator meets the requirements of a standard allocator&period;


[.small]#Created with https://www.mrdocs.com[MrDocs]#
