feat(linear-static-3d-euler-beam): step 8 - core-diagnostics

This commit is contained in:
KOKO\Mimi
2026-08-09 11:11:13 +09:00
parent 639f4082c8
commit 4856f06869
11 changed files with 409 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
#include "fesa/core/status.hpp"
#include <utility>
namespace fesa {
Status Status::ok() {
return Status{true, std::nullopt, {}};
}
Status Status::failure(std::vector<Diagnostic> diagnostics) {
sortDiagnostics(diagnostics);
return Status{false, std::nullopt, std::move(diagnostics)};
}
Status Status::failure(
FailureCategory category, std::vector<Diagnostic> diagnostics) {
sortDiagnostics(diagnostics);
return Status{false, category, std::move(diagnostics)};
}
bool Status::isOk() const noexcept {
return isOk_;
}
std::optional<FailureCategory> Status::failureCategory() const noexcept {
return category_;
}
const std::vector<Diagnostic>& Status::diagnostics() const noexcept {
return diagnostics_;
}
Status::Status(
bool isOk,
std::optional<FailureCategory> category,
std::vector<Diagnostic> diagnostics)
: isOk_{isOk},
category_{category},
diagnostics_{std::move(diagnostics)} {}
} // namespace fesa