Deduce the template parameter KEY from the value_type of the iterators supplied to the constructor of unordered_set. Deduce the template parameters HASH, EQUAL and ALLOCATOR from the other parameters passed to the constructor. This deduction guide does not participate unless: (1) the supplied HASH is invocable with a KEY, (2) the supplied EQUAL is invocable with two KEYs, and (3) the supplied allocator meets the requirements of a standard allocator.
Declared in <bslstl_unorderedset.h>
template<
class INPUT_ITERATOR,
class KEY = BloombergLP::bslstl::IteratorUtil::IterVal_t<INPUT_ITERATOR>,
class HASH = bsl::hash<KEY>,
class EQUAL = bsl::equal_to<KEY>,
class ALLOCATOR = bsl::allocator<KEY>>
requires std::is_invocable_v<HASH, const KEY&> && std::is_invocable_v<EQUAL, const KEY&, const KEY&> && bsl::IsStdAllocator_v<ALLOCATOR>
unordered_set<KEY, HASH, EQUAL, ALLOCATOR>(
INPUT_ITERATOR,
INPUT_ITERATOR,
bsl::allocator_traits<ALLOCATOR>::size_type,
HASH,
EQUAL,
ALLOCATOR) -> unordered_set<KEY, HASH, EQUAL, ALLOCATOR>;