[#absl-StatusOr-operator_assign-0b] = xref:absl.adoc[absl]::xref:absl/StatusOr.adoc[StatusOr]::operator= :relfileprefix: ../../ :mrdocs: Assignment operators == Synopses Declared in `<absl/status/statusor.h>` Copy assignment operator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:absl/StatusOr.adoc[StatusOr]& xref:absl/StatusOr/operator_assign-043.adoc[operator=](xref:absl/StatusOr.adoc[StatusOr] const& other) = default; ---- [.small]#xref:absl/StatusOr/operator_assign-043.adoc[_» more..._]# Converting assignment operator from an `absl::StatusOr<U>`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires internal_statusor::IsStatusOrAssignmentValid< T, const U&, false>::value xref:absl/StatusOr.adoc[StatusOr]& xref:absl/StatusOr/operator_assign-08.adoc[operator=](xref:absl/StatusOr.adoc[StatusOr<U>] const& other); ---- [.small]#xref:absl/StatusOr/operator_assign-08.adoc[_» more..._]# Converting assignment operator from an `absl::StatusOr<U>` (lifetime‐bound). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires internal_statusor::IsStatusOrAssignmentValid< T, const U&, true>::value xref:absl/StatusOr.adoc[StatusOr]& xref:absl/StatusOr/operator_assign-0e.adoc[operator=](xref:absl/StatusOr.adoc[StatusOr<U>] const& other); ---- [.small]#xref:absl/StatusOr/operator_assign-0e.adoc[_» more..._]# Move assignment operator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:absl/StatusOr.adoc[StatusOr]& xref:absl/StatusOr/operator_assign-09.adoc[operator=](xref:absl/StatusOr.adoc[StatusOr]&& other) = default; ---- [.small]#xref:absl/StatusOr/operator_assign-09.adoc[_» more..._]# Converting move assignment operator from an `absl::StatusOr<U>`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires internal_statusor::IsStatusOrAssignmentValid< T, U&&, false>::value xref:absl/StatusOr.adoc[StatusOr]& xref:absl/StatusOr/operator_assign-047.adoc[operator=](xref:absl/StatusOr.adoc[StatusOr<U>]&& other); ---- [.small]#xref:absl/StatusOr/operator_assign-047.adoc[_» more..._]# Converting move assignment operator from an `absl::StatusOr<U>` (lifetime‐bound). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U> requires internal_statusor::IsStatusOrAssignmentValid< T, U&&, true>::value xref:absl/StatusOr.adoc[StatusOr]& xref:absl/StatusOr/operator_assign-06.adoc[operator=](xref:absl/StatusOr.adoc[StatusOr<U>]&& other); ---- [.small]#xref:absl/StatusOr/operator_assign-06.adoc[_» more..._]# Assigns a value convertible to `Status`, making `*this` non‐ok. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U = xref:absl/Status.adoc[absl::Status]> requires internal_statusor::IsConstructionFromStatusValid< false, T, U>::value xref:absl/StatusOr.adoc[StatusOr]& xref:absl/StatusOr/operator_assign-07.adoc[operator=](U&& v); ---- [.small]#xref:absl/StatusOr/operator_assign-07.adoc[_» more..._]# Perfect‐forwarding value assignment operator. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U = T> requires internal_statusor::IsAssignmentValid<T, U, false>::value xref:absl/StatusOr.adoc[StatusOr]& xref:absl/StatusOr/operator_assign-01.adoc[operator=](U&& v); ---- [.small]#xref:absl/StatusOr/operator_assign-01.adoc[_» more..._]# Perfect‐forwarding value assignment operator (captured‐by‐this overload). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename U = T> requires internal_statusor::IsAssignmentValid<T, U, true>::value xref:absl/StatusOr.adoc[StatusOr]& xref:absl/StatusOr/operator_assign-0c.adoc[operator=](U&& v); ---- [.small]#xref:absl/StatusOr/operator_assign-0c.adoc[_» more..._]# == Return Value A reference to `*this`. == Parameters [cols="1,4"] |=== | Name| Description | *other* | The source object. | *v* | The status (or value convertible to a status) to store. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#