[#bsl-unordered_map-02b-operator_assign-04] = xref:bsl.adoc[bsl]::xref:bsl/unordered_map-02b.adoc[unordered_map]::operator= :relfileprefix: ../../ :mrdocs: Assign to this object the value, hash function, and key‐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 map if `get_allocator() == rhs.get_allocator()` (after accounting for the aforementioned trait); otherwise, all elements in this container are either destroyed or move‐assigned to, and each additional element in `rhs` is move‐inserted into this unordered_map. `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 type `value_type` be `move‐constructible` (see {Requirements on `value_type`}). == Synopsis Declared in `<bslstl_unorderedmap.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/unordered_map-02b.adoc[unordered_map]& operator=(xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef<unordered_map>] 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`. [.small]#Created with https://www.mrdocs.com[MrDocs]#