mirror of
https://github.com/borgesdan/xn65
synced 2024-12-29 21:54:47 +01:00
34 lines
697 B
C++
34 lines
697 B
C++
#ifndef XNA_XNAERROR_HPP
|
|
#define XNA_XNAERROR_HPP
|
|
|
|
namespace xna {
|
|
enum class XnaErrorCode {
|
|
NONE,
|
|
ARGUMENT_OUT_OF_RANGE,
|
|
ARGUMENT_IS_NULL,
|
|
INVALID_OPERATION,
|
|
FAILED_OPERATION,
|
|
OVERFLOW_OPERATION,
|
|
NULL_CAST,
|
|
BAD_CAST,
|
|
STREAM_ERROR,
|
|
UNINTIALIZED_RESOURCE,
|
|
END_OF_FILE,
|
|
BAD_TYPE,
|
|
WARNING_INITIALIZED_RESOURCE
|
|
};
|
|
|
|
inline void xna_error_apply(XnaErrorCode* source, XnaErrorCode const& value) {
|
|
if (source != nullptr)
|
|
*source = value;
|
|
}
|
|
|
|
inline bool xna_error_haserros(XnaErrorCode* source) {
|
|
return source != nullptr && *source != XnaErrorCode::NONE;
|
|
}
|
|
|
|
#define xna_error_nullarg XnaErrorCode* err = nullptr
|
|
#define xna_error_ptr_arg XnaErrorCode* err
|
|
}
|
|
|
|
#endif |