[#bsl-set-051] = xref:bsl.adoc[bsl]::xref:bsl/set-0d.adoc[set<KEY>] :relfileprefix: ../ :mrdocs: Deduce `KEY` from iterators when an allocator pointer is supplied. == Synopsis Declared in `<bslstl_set.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class INPUT_ITERATOR, class ALLOC, class KEY = xref:BloombergLP/bslstl/IteratorUtil/IterVal_t.adoc[BloombergLP::bslstl::IteratorUtil::IterVal_t<INPUT_ITERATOR>], class DEFAULT_ALLOCATOR = xref:bsl/allocator-0df.adoc[bsl::allocator<KEY>]> requires bsl::is_convertible_v<ALLOC *, DEFAULT_ALLOCATOR> xref:bsl/set-0d.adoc[set<KEY>]( INPUT_ITERATOR, INPUT_ITERATOR, ALLOC*) -> xref:bsl/set-0d.adoc[set<KEY>]; ---- == Description This deduction guide does not participate unless the specified `ALLOC` is convertible to `bsl::allocator<KEY>`. [.small]#Created with https://www.mrdocs.com[MrDocs]#