2024-03-26 10:32:56 -03:00
|
|
|
#ifndef XNA_XNAERROR_HPP
|
|
|
|
#define XNA_XNAERROR_HPP
|
|
|
|
|
|
|
|
namespace xna {
|
|
|
|
enum class XnaErrorCode {
|
|
|
|
NONE,
|
|
|
|
ARGUMENT_OUT_OF_RANGE,
|
|
|
|
ARGUMENT_IS_NULL,
|
|
|
|
INVALID_OPERATION,
|
2024-04-11 10:38:56 -03:00
|
|
|
FAILED_OPERATION,
|
2024-03-26 10:32:56 -03:00
|
|
|
OVERFLOW_OPERATION,
|
2024-04-07 14:06:12 -03:00
|
|
|
NULL_CAST,
|
|
|
|
BAD_CAST,
|
2024-04-25 14:51:33 -03:00
|
|
|
STREAM_ERROR,
|
2024-04-28 20:19:37 -03:00
|
|
|
UNINTIALIZED_RESOURCE,
|
2024-05-01 19:09:43 -03:00
|
|
|
END_OF_FILE,
|
2024-05-04 21:07:39 -03:00
|
|
|
BAD_TYPE,
|
|
|
|
WARNING_INITIALIZED_RESOURCE
|
2024-03-26 10:32:56 -03:00
|
|
|
};
|
|
|
|
|
|
|
|
inline void xna_error_apply(XnaErrorCode* source, XnaErrorCode const& value) {
|
|
|
|
if (source != nullptr)
|
|
|
|
*source = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline bool xna_error_haserros(XnaErrorCode* source) {
|
2024-05-02 10:52:08 -03:00
|
|
|
return source != nullptr && *source != XnaErrorCode::NONE;
|
2024-03-26 10:32:56 -03:00
|
|
|
}
|
|
|
|
|
|
|
|
#define xna_error_nullarg XnaErrorCode* err = nullptr
|
|
|
|
#define xna_error_ptr_arg XnaErrorCode* err
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|