7#include <boost/outcome.hpp>
17namespace outcome = BOOST_OUTCOME_V2_NAMESPACE;
29 ParameterNotAvailable = 4,
50 inline const std::string &message()
const {
57 using result = outcome::result<T, E2SARErrorInfo>;
63 std::string _error_msg;
68 operator std::string()
const
70 return "E2SAR exception: " + _error_msg;
72 operator std::string()
77 char *what() const noexcept
79 return const_cast<char *
>(_error_msg.c_str());
90 struct is_error_code_enum<
e2sar::E2SARErrorc> : true_type
102 virtual const char *name()
const noexcept override final {
return "E2SARError"; }
104 virtual std::string message(
int c)
const override final
108 case e2sar::E2SARErrorc::CaughtException:
109 return "caught an exception";
110 case e2sar::E2SARErrorc::ParseError:
111 return "parsing error";
112 case e2sar::E2SARErrorc::ParameterError:
113 return "parameter error";
114 case e2sar::E2SARErrorc::ParameterNotAvailable:
115 return "parameter not available";
116 case e2sar::E2SARErrorc::OutOfRange:
117 return "value out of range";
118 case e2sar::E2SARErrorc::Undefined:
119 return "value undefined";
120 case e2sar::E2SARErrorc::NotFound:
121 return "file not found";
122 case e2sar::E2SARErrorc::RPCError:
124 case e2sar::E2SARErrorc::SocketError:
125 return "socket error";
126 case e2sar::E2SARErrorc::MemoryError:
127 return "memory error";
128 case e2sar::E2SARErrorc::LogicError:
129 return "logic error";
130 case e2sar::E2SARErrorc::SystemError:
131 return "system error";
158#define THIS_MODULE_API_DECL extern inline
176 return {
static_cast<int>(e), E2SARErrorc_category()};
180 inline std::error_code make_error_code(E2SARErrorInfo e)
182 return {
static_cast<int>(e.ec), E2SARErrorc_category()};
187 inline boost::exception_ptr make_exception_ptr(E2SARErrorInfo e)
189 return make_exception_ptr(make_error_code(e));
Definition e2sarError.hpp:99
Definition e2sarError.hpp:61
E2SARErrorc
Definition e2sarError.hpp:24
Definition e2sarError.hpp:41