Deduce the template parameter KEY from the value_type of the iterators supplied to the constructor of unordered_multiset. 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 `KEY`s, and (3) the supplied allocator meets the requirements of a standard allocator.

Synopsis

Declared in <bslstl_unorderedmultiset.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_multiset<KEY, HASH, EQUAL, ALLOCATOR>(
    INPUT_ITERATOR,
    INPUT_ITERATOR,
    bsl::allocator_traits<ALLOCATOR>::size_type,
    HASH,
    EQUAL,
    ALLOCATOR) → unordered_multiset<KEY, HASH, EQUAL, ALLOCATOR>;

Created with MrDocs