载入中...
搜索中...
未找到
Status.h
浏览该文件的文档.
62inline std::ostream& operator<<(std::ostream& stream, StatusCode code) { return stream << statusCodeName(code); }
68class [[nodiscard("Status must be inspected or explicitly passed onward")]] EVENGINE_API_FOUNDATION Status {
78 Status(StatusCode code, std::vector<Diagnostic> diagnostics) : code_(code), diagnostics_(std::move(diagnostics)) {}
Stable, structured diagnostics shared by engine modules.
A structured explanation of a failed, degraded, or noteworthy result.
Definition Diagnostic.h:94
Status(StatusCode code, std::vector< Diagnostic > diagnostics)
Construct a status from a code and diagnostics.
Definition Status.h:78
static Status failure(Diagnostic diagnostic)
Construct the matching failure category from a diagnostic code.
Definition Status.h:92
static Status failure(StatusCode code, Diagnostic diagnostic)
Construct a failed status with one diagnostic.
Definition Status.h:84
bool isSuccess() const noexcept
Whether the operation completed without a failure outcome.
Definition Status.h:101
const Diagnostic * primaryDiagnostic() const noexcept
First diagnostic, or null when no diagnostic was supplied.
Definition Status.h:135
static Status success(StatusCode code=StatusCode::Ok)
Construct a successful status with an explicit non-error outcome.
Definition Status.h:81
const std::vector< Diagnostic > & diagnostics() const noexcept
All diagnostics in stable insertion order.
Definition Status.h:124
bool hasDiagnostics() const noexcept
True when this status has at least one diagnostic.
Definition Status.h:121
@ NotFound
@ Cancelled
@ Unsupported
@ Failed
@ Conflict
std::ostream & operator<<(std::ostream &stream, Severity severity)
Writes a severity for diagnostics and test output.
Definition Diagnostic.h:39
@ Pending
@ NotFound
@ NoOp
@ Applied
@ Cancelled
@ Unsupported
@ Rejected
@ Failed
@ Conflict
constexpr std::string_view statusCodeName(StatusCode code) noexcept
Return the stable protocol spelling of a status code.
Definition Status.h:45
@ Rejected
Definition Container.h:602