5 #include <nx/sdk/i_string.h> 11 enum class ErrorCode: int
16 internalError = -1000,
17 invalidParams = -1001,
26 m_errorCode(errorCode), m_errorMessage(errorMessage)
32 return m_errorCode == ErrorCode::noError && m_errorMessage ==
nullptr;
35 ErrorCode errorCode()
const {
return m_errorCode; }
36 const IString* errorMessage()
const {
return m_errorMessage; }
42 ErrorCode m_errorCode;
46 template<
typename Value>
50 Result(): m_error(ErrorCode::noError,
nullptr) {}
52 Result(Value value): m_error(ErrorCode::noError,
nullptr), m_value(std::move(value)) {}
58 m_error = std::move(error);
63 Result& operator=(Value value)
65 m_error =
Error{ErrorCode::noError,
nullptr};
70 bool isOk()
const {
return m_error.isOk(); }
72 const Error& error()
const {
return m_error; }
73 Value value()
const {
return m_value; }
84 Result(): m_error(ErrorCode::noError,
nullptr) {}
90 m_error = std::move(error);
94 bool isOk()
const {
return m_error.isOk(); }
96 const Error& error()
const {
return m_error; }
Definition: i_string.h:10
Definition: apple_utils.h:6