[#bsl-set-0d-operator_assign-06] = xref:bsl.adoc[bsl]::xref:bsl/set-0d.adoc[set]::operator= :relfileprefix: ../../ :mrdocs: Assignment operators == Synopses Declared in `<bslstl_set.h>` Assign to this object the value and comparator of the specified `rhs` object, propagate to this object the allocator of `rhs` if the `ALLOCATOR` type has trait `propagate_on_container_copy_assignment`, and return a reference providing modifiable access to this object. If an exception is thrown, `*this` is left in a valid but unspecified state. This method requires that the (template parameter) type `KEY` be `copy‐assignable` and `copy‐insertable` into this set (see {Requirements on `KEY`}). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/set-0d.adoc[set<KEY, COMPARATOR, ALLOCATOR>]& xref:bsl/set-0d/operator_assign-04.adoc[operator=](xref:bsl/set-0d.adoc[set] const& rhs); ---- [.small]#xref:bsl/set-0d/operator_assign-04.adoc[_» more..._]# Assign to this object the value and 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 set if `get_allocator() == rhs.get_allocator()` (after accounting for the aforementioned trait); otherwise, all elements in this set are either destroyed or move‐assigned to and each additional element in `rhs` is move‐inserted into this set. `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 `move‐assignable` and `move‐insertable` into this set (see {Requirements on `KEY`}). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/set-0d.adoc[set<KEY, COMPARATOR, ALLOCATOR>]& xref:bsl/set-0d/operator_assign-02.adoc[operator=](xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef<set>] rhs) noexcept(/* see-below */); ---- [.small]#xref:bsl/set-0d/operator_assign-02.adoc[_» more..._]# Assign to this object the value resulting from first clearing this set and then inserting each `value_type` object in the specified `values` initializer list, ignoring those keys having a value equivalent to that which appears earlier in the list; return a reference providing modifiable access to this object. This method requires that the (template parameter) type `KEY` be `copy‐insertable` into this set (see {Requirements on `KEY`}). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:bsl/set-0d.adoc[set<KEY, COMPARATOR, ALLOCATOR>]& xref:bsl/set-0d/operator_assign-0d.adoc[operator=](std::initializer_list<KEY> values); ---- [.small]#xref:bsl/set-0d/operator_assign-0d.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#