diff options
| author | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-03-20 14:05:41 +0100 |
|---|---|---|
| committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-03-20 14:05:41 +0100 |
| commit | ec4e2ec0ec6261a402c71cc8d803c2d30bb3b48c (patch) | |
| tree | 7720fe82b99f4f86431fbb8aa6976d11345fec7e | |
| parent | 349b646a484a2b91aa5fc82db24c5627ead1eb5a (diff) | |
| download | forstio-forstio-ec4e2ec0ec6261a402c71cc8d803c2d30bb3b48c.tar.gz | |
Fixing up errors from streamlining error class
| -rw-r--r-- | modules/core/c++/error.cpp | 9 | ||||
| -rw-r--r-- | modules/core/c++/error.hpp | 10 |
2 files changed, 15 insertions, 4 deletions
diff --git a/modules/core/c++/error.cpp b/modules/core/c++/error.cpp index d5132ac..6bb939e 100644 --- a/modules/core/c++/error.cpp +++ b/modules/core/c++/error.cpp @@ -157,6 +157,15 @@ error_or<error::code> error_registry::search_or_register_id(const std::string_vi return std::move(err); } + +bool error_registry::is_critical(error::code cd) const { + return infos_.at(cd).is_critical; +} +} + +error make_error(error::code cd, const std::string_view& generic){ + auto& reg = impl::get_error_registry(); + return error{cd, reg.is_critical(cd), generic}; } } // namespace saw diff --git a/modules/core/c++/error.hpp b/modules/core/c++/error.hpp index ceef3c2..2a97a8b 100644 --- a/modules/core/c++/error.hpp +++ b/modules/core/c++/error.hpp @@ -123,6 +123,8 @@ public: error_or<error::code> search_id(const std::string_view& desc) const; error_or<error::code> search_or_register_id(const std::string_view& desc, bool is_critical); + + bool is_critical(error::code cd) const; }; error_registry& get_error_registry(); @@ -150,14 +152,14 @@ error make_error(error::code code, const std::string_view &generic); template<typename T> error make_error(const std::string_view& generic){ error::code id = impl::get_template_error_id<T>(); - - return make_error(id, generic); + // Keep error, don't use make_error + return error{id, T::is_critical, generic}; } template<typename T> error make_error(){ error::code id = impl::get_template_error_id<T>(); - - return make_error(id, {}); + // Keep error, don't use make_error + return error{id, T::is_critical}; } struct error_builder { |
