absl::StatusOr::operator=

Converting assignment operator from an absl::StatusOr<U>.

Synopsis

Declared in <absl/status/statusor.h>

template<typename U>
requires internal_statusor::IsStatusOrAssignmentValid<
                                  T, const U&, false>::value
StatusOr&
operator=(StatusOr<U> const& other);

Description

Creates an absl::StatusOr<T> through assignment from an absl::StatusOr<U> when:

* Both absl::StatusOr<T> and absl::StatusOr<U> are OK by assigning U to T directly. * absl::StatusOr<T> is OK and absl::StatusOr<U> contains an error code by destroying absl::StatusOr<T>'s value and assigning from `absl::StatusOr<U>' * absl::StatusOr<T> contains an error code and absl::StatusOr<U> is OK by directly initializing T from U. * Both absl::StatusOr<T> and absl::StatusOr<U> contain an error code by assigning the Status in absl::StatusOr<U> to absl::StatusOr<T>

These overloads only apply if absl::StatusOr<T> is constructible and assignable from absl::StatusOr<U> and StatusOr<T> cannot be directly assigned from StatusOr<U>.

Return Value

A reference to *this.

Parameters

NameDescription
otherThe source StatusOr<U> to assign from.