[#bsl-optional-072-operator_assign-0d] = xref:bsl.adoc[bsl]::xref:bsl/optional-072.adoc[optional]::operator= :relfileprefix: ../../ :mrdocs: Assign to this object the value of the specified `rhs` object converted to `t_TYPE`, and return a reference providing modifiable access to this object. Note that this method may invoke assignment from `rhs`, or construction from `rhs`, depending on whether this object is engaged. This assignment operator does not participate in overload resolution if `t_ANY_TYPE` is possibly cv‐qualified `bsl::optional<t_TYPE>`. Also note that an assignment of the form `o = {};`, where `o` is of type `optional`, will always assign to `o` the empty state, and never call this overload (see implementation notes). This assignment operator can be called in constant expressions only when `t_TYPE` is not allocator‐aware. == Synopsis Declared in `<bslstl_optional.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_ANY_TYPE = t_TYPE> constexpr xref:bsl/optional-072.adoc[optional<t_TYPE>]& operator=(t_ANY_TYPE&& rhs); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#