56 [[nodiscard]]
bool empty() const noexcept {
72 return a.field_path == b.field_path && a.rule_id == b.rule_id;
100[[nodiscard]]
inline ValidationKey
114 [[nodiscard]] std::size_t
operator()(const ::aria::ValidationKey& k)
const noexcept {
115 std::size_t h = std::hash<std::string>{}(k.field_path);
116 h ^= std::hash<std::string>{}(k.rule_id) + 0x9e3779b97f4a7c15ULL
117 + (h << 6) + (h >> 2);
Definition validation_key.hpp:86
std::ostream & operator<<(std::ostream &os, const Error &e)
Definition error.hpp:275
validation_dsl::RulePart rule_id(std::string id) noexcept
Definition validation_key.hpp:96
validation_dsl::FieldPart field(std::string path) noexcept
Definition validation_key.hpp:93
ValidationKey operator/(validation_dsl::FieldPart f, validation_dsl::RulePart r)
Definition validation_key.hpp:101
bool operator!=(const Error &a, const Error &b) noexcept
Definition error.hpp:271
bool operator==(const Error &a, const Error &b) noexcept
Definition error.hpp:264
Severity
Severity of a single error / warning.
Definition validation_key.hpp:42
@ Warning
Definition validation_key.hpp:44
Definition validation_key.hpp:110
One uniform error record.
Definition error.hpp:129
(field_path, rule_id) locator for a validation message.
Definition validation_key.hpp:52
std::string rule_id
e.g. "required"; empty = anonymous
Definition validation_key.hpp:54
bool empty() const noexcept
Definition validation_key.hpp:56
std::string field_path
e.g. "user.email"; empty = form-level
Definition validation_key.hpp:53
std::string to_string() const
Stable string view of the form "<field_path>#<rule_id>".
Definition validation_key.hpp:61
Definition validation_key.hpp:88
std::string path
Definition validation_key.hpp:88
Definition validation_key.hpp:89
std::string id
Definition validation_key.hpp:89
std::size_t operator()(const ::aria::ValidationKey &k) const noexcept
Definition validation_key.hpp:114