[#bsl-set-0a]
= xref:bsl.adoc[bsl]::xref:bsl/set-0d.adoc[set&lt;KEY, COMPARATOR, ALLOCATOR&gt;]
:relfileprefix: ../
:mrdocs:

Deduce `KEY`, `COMPARATOR`, and `ALLOCATOR` from an iterator&hyphen;range constructor&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class INPUT&lowbar;ITERATOR,
    class KEY = bsl::iterator&lowbar;traits&lt;INPUT&lowbar;ITERATOR&gt;::value&lowbar;type,
    class COMPARATOR = std::less&lt;KEY&gt;,
    class ALLOCATOR = xref:bsl/allocator-0df.adoc[bsl::allocator&lt;KEY&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/set-0d.adoc[set&lt;KEY, COMPARATOR, ALLOCATOR&gt;](
    INPUT&lowbar;ITERATOR,
    INPUT&lowbar;ITERATOR,
    COMPARATOR,
    ALLOCATOR) -> xref:bsl/set-0d.adoc[set&lt;KEY, COMPARATOR, ALLOCATOR&gt;];
----

== Description

This guide does not participate unless the supplied (or defaulted) `ALLOCATOR` meets the requirements of a standard allocator&period;


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