OR-Tools  8.1
status_macros.h File Reference

Go to the source code of this file.

Namespaces

 absl
 

Macros

#define RETURN_IF_ERROR(expr)
 
#define STATUS_MACROS_CONCAT_NAME_INNER(x, y)   x##y
 
#define STATUS_MACROS_CONCAT_NAME(x, y)   STATUS_MACROS_CONCAT_NAME_INNER(x, y)
 
#define ASSIGN_OR_RETURN_IMPL(status, lhs, rexpr)
 
#define ASSIGN_OR_RETURN(lhs, rexpr)
 

Functions

template<typename T >
::absl::Status DoAssignOrReturn (T &lhs, ::absl::StatusOr< T > result)
 

Macro Definition Documentation

◆ ASSIGN_OR_RETURN

#define ASSIGN_OR_RETURN (   lhs,
  rexpr 
)
Value:
STATUS_MACROS_CONCAT_NAME(_status_or_value, __COUNTER__), lhs, rexpr);

Definition at line 59 of file status_macros.h.

◆ ASSIGN_OR_RETURN_IMPL

#define ASSIGN_OR_RETURN_IMPL (   status,
  lhs,
  rexpr 
)
Value:
::absl::Status status = DoAssignOrReturn(lhs, (rexpr)); \
if (!status.ok()) return status;

Definition at line 46 of file status_macros.h.

◆ RETURN_IF_ERROR

#define RETURN_IF_ERROR (   expr)
Value:
do { \
/* Using _status below to avoid capture problems if expr is "status". */ \
const ::absl::Status _status = (expr); \
if (!_status.ok()) return _status; \
} while (0)

Definition at line 27 of file status_macros.h.

◆ STATUS_MACROS_CONCAT_NAME

#define STATUS_MACROS_CONCAT_NAME (   x,
 
)    STATUS_MACROS_CONCAT_NAME_INNER(x, y)

Definition at line 36 of file status_macros.h.

◆ STATUS_MACROS_CONCAT_NAME_INNER

#define STATUS_MACROS_CONCAT_NAME_INNER (   x,
 
)    x##y

Definition at line 35 of file status_macros.h.

ASSIGN_OR_RETURN_IMPL
#define ASSIGN_OR_RETURN_IMPL(status, lhs, rexpr)
Definition: status_macros.h:46
absl::DoAssignOrReturn
::absl::Status DoAssignOrReturn(T &lhs, ::absl::StatusOr< T > result)
Definition: status_macros.h:39
STATUS_MACROS_CONCAT_NAME
#define STATUS_MACROS_CONCAT_NAME(x, y)
Definition: status_macros.h:36