Assignment operators

Synopses

Declared in <absl/status/statusor.h>

Copy assignment operator.

StatusOr&
operator=(StatusOr const& other) = default;

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

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

Converting assignment operator from an absl::StatusOr<U> (lifetime‐bound).

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

Move assignment operator.

StatusOr&
operator=(StatusOr&& other) = default;

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

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

Converting move assignment operator from an absl::StatusOr<U> (lifetime‐bound).

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

Assigns a value convertible to Status, making *this non‐ok.

template<typename U = absl::Status>
requires internal_statusor::IsConstructionFromStatusValid<
                                  false, T, U>::value
StatusOr&
operator=(U&& v);

Perfect‐forwarding value assignment operator.

template<typename U = T>
requires internal_statusor::IsAssignmentValid<T, U, false>::value
StatusOr&
operator=(U&& v);

Perfect‐forwarding value assignment operator (captured‐by‐this overload).

template<typename U = T>
requires internal_statusor::IsAssignmentValid<T, U, true>::value
StatusOr&
operator=(U&& v);

Return Value

A reference to *this.

Parameters

Name

Description

other

The source object.

v

The status (or value convertible to a status) to store.

Created with MrDocs