[#bsl-list-054-operator_assign-022] = xref:bsl.adoc[bsl]::xref:bsl/list-054.adoc[list]::operator= :relfileprefix: ../../ :mrdocs: Assign to this object the value 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 list if `get_allocator() == rhs.get_allocator()` (after accounting for the aforementioned trait); otherwise, all elements in this list are either destroyed or move‐assigned to and each additional element in `rhs` is move‐inserted into this list. `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 `VALUE` be `move‐assignable` and `move‐insertable` into this list (see {Requirements on `VALUE`}). == Synopsis Declared in `<bslstl_list.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/list-054.adoc[list<VALUE, ALLOCATOR>]& operator=(xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef<list>] rhs) noexcept(AllocTraits::is_always_equal::value); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#