64 for (
const auto &issue : issues_) {
65 if (issue.IsError()) {
73 [[nodiscard]] std::vector<std::string>
GetErrors()
const {
74 std::vector<std::string> errors;
75 for (
const auto &issue : issues_) {
77 errors.push_back(FormatIssue(issue));
85 std::vector<std::string> warnings;
86 for (
const auto &issue : issues_) {
88 warnings.push_back(FormatIssue(issue));
95 [[nodiscard]] std::vector<std::string>
GetInfos()
const {
96 std::vector<std::string> infos;
97 for (
const auto &issue : issues_) {
99 infos.push_back(FormatIssue(issue));
106 [[nodiscard]]
const std::vector<ValidationIssue> &
GetIssues()
const {
return issues_; }
109 void AddError(
const std::string &message,
const std::string &context =
"") {
114 void AddWarning(
const std::string &message,
const std::string &context =
"") {
119 void AddInfo(
const std::string &message,
const std::string &context =
"") {
124 [[nodiscard]]
bool HasIssues()
const {
return !issues_.empty(); }
129 for (
const auto &issue : issues_) {
130 if (issue.IsError()) {
140 for (
const auto &issue : issues_) {
149 std::vector<ValidationIssue> issues_;
151 [[nodiscard]]
static std::string FormatIssue(
const ValidationIssue &issue) {
Base class for all Icarus exceptions.
Definition Error.hpp:52
std::vector< std::string > GetInfos() const
Get all info messages.
Definition ValidationResult.hpp:95
std::vector< std::string > GetErrors() const
Get all error messages.
Definition ValidationResult.hpp:73
ValidationResult()=default
void AddWarning(const std::string &message, const std::string &context="")
Add a warning.
Definition ValidationResult.hpp:114
size_t WarningCount() const
Get warning count.
Definition ValidationResult.hpp:138
const std::vector< ValidationIssue > & GetIssues() const
Get all issues.
Definition ValidationResult.hpp:106
bool IsValid() const
Check if validation passed (no errors).
Definition ValidationResult.hpp:63
void AddInfo(const std::string &message, const std::string &context="")
Add an info message.
Definition ValidationResult.hpp:119
std::vector< std::string > GetWarnings() const
Get all warning messages.
Definition ValidationResult.hpp:84
size_t ErrorCount() const
Get error count.
Definition ValidationResult.hpp:127
void AddError(const std::string &message, const std::string &context="")
Add an error.
Definition ValidationResult.hpp:109
bool HasIssues() const
Check if there are any issues at all.
Definition ValidationResult.hpp:124
Definition AggregationTypes.hpp:13
ValidationSeverity
Severity level for validation issues.
Definition ValidationResult.hpp:18
@ Warning
Proceed with caution.
Definition ValidationResult.hpp:20
@ Info
Informational note.
Definition ValidationResult.hpp:21
@ Error
Fatal - operation cannot proceed.
Definition ValidationResult.hpp:19
Single validation issue.
Definition ValidationResult.hpp:27
std::string context
Additional context (e.g., signal name).
Definition ValidationResult.hpp:30
bool IsError() const
Check if this issue is an error.
Definition ValidationResult.hpp:36
ValidationSeverity severity
Definition ValidationResult.hpp:28
ValidationIssue(ValidationSeverity sev, std::string msg, std::string ctx="")
Definition ValidationResult.hpp:32
std::string message
Definition ValidationResult.hpp:29