bsl::unordered_multiset::operator=

Assign to this object the value, hash function, and equality comparator of the specified rhs object, propagate to this object the allocator of rhs if the ALLOCATOR type has trait propagate_on_container_move_assignment, and return a reference providing modifiable access to this object. The contents of rhs are moved (in constant time) to this unordered multiset if get_allocator() == rhs.get_allocator() (after accounting for the aforementioned trait); otherwise, all elements in this unordered multiset are either destroyed or move-assigned to and each additional element in rhs is move-inserted into this unordered multiset. rhs is left in a valid but unspecified state, and if an exception is thrown, *this is left in a valid but unspecified state. This method requires that the (template parameter) type KEY be both move-assignable and move-insertable into this unordered multiset (see {Requirements on KEY}).

Synopsis

Declared in <bslstl_unorderedmultiset.h>

unordered_multiset<KEY, HASH, EQUAL, ALLOCATOR>&
operator=(BloombergLP::bslmf::MovableRef<unordered_multiset> rhs) noexcept(/* see-below */);

Exception specification

This function is potentially-throwing unless AllocatorTraits::is_always_equal::value && std::is_nothrow_move_assignable<HASH>::value && std::is_nothrow_move_assignable<EQUAL>::value.