Represents success or an error with info about the error.
This class is typically used to indicate whether or not a function or other operation completed successfully. Success is indicated by an "OK" status. OK statuses will have .
code()
==
StatusCode::kOk
and .
ok()
== true
, with all other properties having empty values. All OK statuses are equal. Any non-OK Status
is considered an error. Users can inspect the error using the member functions, or they can simply stream the Status
object, and it will print itself in some human readable way (the streamed format may change over time and you should not
depend on the specific format of a streamed Status
object remaining unchanged).
This is a regular value type that can be copied, moved, compared for equality, and streamed.
Constructors
Status
Status const &
Status
Status &&
Status
Default constructor, initializes to StatusCode::kOk
.
~Status
Destructor.
Status
Construct from a status code, message and (optional) error info.
code
message
Operators
operator=
Status const &
Status &
operator=
Status &&
Status &
Functions
ok
Returns true if the status code is StatusCode::kOk
.
bool
code
Returns the status code.
StatusCode
message
Returns the message associated with the status.
This is always empty if code()
is StatusCode::kOk
.
std::string const &
error_info
Returns the additional error info associated with the status.
This is always a default-constructed error info if code()
is StatusCode::kOk
.
ErrorInfo const &

