-
#include "tensorstore/util/result.h" - const T& tensorstore::Result<T>::value() const&;
- T& tensorstore::Result<T>::value() &;
- const T&& tensorstore::Result<T>::value() const&&;
- T&& tensorstore::Result<T>::value() &&;
Returns a reference to the held value if
this->ok(). Otherwise terminates the process.If the state of the result has already been checked using
this->ok(), consider usingoperator*()oroperator->()to access the value.Note: for value types that are cheap to copy, prefer simple code:
T value = result.value();Otherwise, if the value type is expensive to copy, but can be left in the Result, simply assign to a reference:
T& value = result.value(); // or `const T&`Otherwise, if the value type supports an efficient move, it can be used as follows:
T value = std::move(result).value();The
std::moveon result instead of on the whole expression enables warnings about possible uses of the result object after the move.- Pre:¶
this->ok() == true, otherwise the process will be terminated.