absl::StatusOr::WithSourceLocation

Appends a source location and returns an rvalue reference to *this.

Synopsis

Declared in <absl/status/statusor.h>

[[nodiscard]]
StatusOr<T>&&
WithSourceLocation(absl::SourceLocation loc = absl::SourceLocation::current()) &&;

Description

Appends the loc to the current location chain inside the status iff the status-or is non-ok and contains a non-empty message, and returns an rvalue reference to *this.

Example:

StatusOr<int> Finalize(...);

StatusOr<int> DoSomething(...) { ... return Finalize().WithSourceLocation(); }

Return Value

An rvalue reference to *this.

NOTE

The return value should not be discarded.

Parameters

NameDescription
locThe source location to append.