Constructors

Synopses

Declared in <bslstl_unorderedmultiset.h>

Create an empty unordered multiset.

Create an unordered multiset as a copy of original.

Create an unordered multiset by moving from original.

Create an empty unordered multiset using the specified basicAllocator.

explicit
unordered_multiset(ALLOCATOR const& basicAllocator);

Same as the preceding overload, using the specified allocator.

unordered_multiset(
    size_type initialNumBuckets,
    ALLOCATOR const& basicAllocator);

Create an unordered multiset by moving from original with basicAllocator.

unordered_multiset(
    BloombergLP::bslmf::MovableRef<unordered_multiset> original,
    ALLOCATOR const& basicAllocator);

Create a copy of original using basicAllocator.

unordered_multiset(
    unordered_multiset const& original,
    ALLOCATOR const& basicAllocator);

Create an unordered multiset from the specified values initializer list using basicAllocator.

template<class = void>
requires bsl::IsStdAllocator<ALLOCATOR>::value
unordered_multiset(
    std::initializer_list<KEY> values,
    ALLOCATOR const& basicAllocator);

Same as the preceding overload, using the specified allocator.

unordered_multiset(
    size_type initialNumBuckets,
    HASH const& hashFunction,
    ALLOCATOR const& basicAllocator);

Same as the preceding overload, using the specified allocator.

template<class INPUT_ITERATOR>
unordered_multiset(
    INPUT_ITERATOR first,
    INPUT_ITERATOR last,
    ALLOCATOR const& basicAllocator);

Same as the preceding overload, using the specified allocator.

template<class RANGE>
unordered_multiset(
    std::from_range_t tag,
    RANGE&& range,
    ALLOCATOR const& basicAllocator);

Same as the preceding overload, using the specified allocator.

template<class = void>
requires bsl::IsStdAllocator<ALLOCATOR>::value
unordered_multiset(
    std::initializer_list<KEY> values,
    size_type initialNumBuckets,
    ALLOCATOR const& basicAllocator);

Same as the preceding overload, using the specified bucket count and hash/equality functors.

explicit
unordered_multiset(
    size_type initialNumBuckets,
    HASH const& hashFunction = HASH(),
    EQUAL const& keyEqual = EQUAL(),
    ALLOCATOR const& basicAllocator = ALLOCATOR());

Same as the preceding overload, using the specified allocator.

template<class INPUT_ITERATOR>
unordered_multiset(
    INPUT_ITERATOR first,
    INPUT_ITERATOR last,
    size_type initialNumBuckets,
    ALLOCATOR const& basicAllocator);

Same as the preceding overload, using the specified allocator.

template<class RANGE>
unordered_multiset(
    std::from_range_t tag,
    RANGE&& range,
    size_type initialNumBuckets,
    ALLOCATOR const& basicAllocator);

Same as the preceding overload, using the specified allocator.

template<
    class = void,
    class = void>
requires std::is_invocable_v<HASH, const KEY &> && bsl::IsStdAllocator<ALLOCATOR>::value
unordered_multiset(
    std::initializer_list<KEY> values,
    size_type initialNumBuckets,
    HASH const& hashFunction,
    ALLOCATOR const& basicAllocator);

Same as the preceding overload without a key‐equality functor.

template<class INPUT_ITERATOR>
unordered_multiset(
    INPUT_ITERATOR first,
    INPUT_ITERATOR last,
    size_type initialNumBuckets,
    HASH const& hashFunction,
    ALLOCATOR const& basicAllocator);

Create an unordered multiset from range with hash and allocator.

template<class RANGE>
unordered_multiset(
    std::from_range_t tag,
    RANGE&& range,
    size_type initialNumBuckets,
    HASH const& hashFunction,
    ALLOCATOR const& basicAllocator);

Create an unordered multiset from the specified values initializer list.

template<
    class = void,
    class = void,
    class = void>
requires std::is_invocable_v<HASH, const KEY &> && std::is_invocable_v<EQUAL, const KEY &, const KEY &> && bsl::IsStdAllocator_v<ALLOCATOR>
unordered_multiset(
    std::initializer_list<KEY> values,
    size_type initialNumBuckets = 0,
    HASH const& hashFunction = HASH(),
    EQUAL const& keyEqual = EQUAL(),
    ALLOCATOR const& basicAllocator = ALLOCATOR());

Create an unordered multiset from the specified iterator range.

template<class INPUT_ITERATOR>
unordered_multiset(
    INPUT_ITERATOR first,
    INPUT_ITERATOR last,
    size_type initialNumBuckets = 0,
    HASH const& hashFunction = HASH(),
    EQUAL const& keyEqual = EQUAL(),
    ALLOCATOR const& basicAllocator = ALLOCATOR());

Create an unordered multiset from the specified range.

template<class RANGE>
unordered_multiset(
    std::from_range_t tag,
    RANGE&& range,
    size_type initialNumBuckets = 0,
    HASH const& hashFunction = HASH(),
    EQUAL const& keyEqual = EQUAL(),
    ALLOCATOR const& basicAllocator = ALLOCATOR());

Parameters

Name

Description

original

unordered multiset to copy

basicAllocator

the allocator used to supply memory

initialNumBuckets

the initial number of buckets

values

initializer list of keys to insert

hashFunction

the hash function

first

the start of the iterator range

last

one past the end of the iterator range

tag

disambiguation tag selecting the range constructor

range

input range of elements to insert

keyEqual

the key‐equality functor

Created with MrDocs