15#ifndef DRACO_CORE_STATUS_OR_H_
16#define DRACO_CORE_STATUS_OR_H_
44 const T &
value() const & {
return value_; }
45 const T &&
value() const && {
return std::move(value_); }
46 T &&
value() && {
return std::move(value_); }
53 bool ok()
const {
return status_.ok(); }
65#define DRACO_ASSIGN_OR_RETURN(lhs, expression) \
66 DRACO_ASSIGN_OR_RETURN_IMPL_(DRACO_MACROS_IMPL_CONCAT_(_statusor, __LINE__), \
67 lhs, expression, _status)
70#define DRACO_ASSIGN_OR_RETURN_IMPL_(statusor, lhs, expression, error_expr) \
71 auto statusor = (expression); \
72 if (!statusor.ok()) { \
73 auto _status = std::move(statusor.status()); \
77 lhs = std::move(statusor).value();
const T & ValueOrDie() const &
Definition status_or.h:50
const T & value() const &
Definition status_or.h:44
StatusOr(StatusOr &&)=default
T && value() &&
Definition status_or.h:46
StatusOr(T &&value)
Definition status_or.h:39
const T && value() const &&
Definition status_or.h:45
StatusOr(const Status &status)
Definition status_or.h:37
StatusOr(const Status &status, const T &value)
Definition status_or.h:40
StatusOr()
Definition status_or.h:32
T && ValueOrDie() &&
Definition status_or.h:51
StatusOr(const T &value)
Definition status_or.h:38
StatusOr(const StatusOr &)=default
bool ok() const
Definition status_or.h:53
const Status & status() const
Definition status_or.h:43
Definition attribute_octahedron_transform.cc:21
Status OkStatus()
Definition status.h:66