16 #ifndef INCLUDE_NN_NLIB_EXI_EXIERRORSTATUS_H_ 17 #define INCLUDE_NN_NLIB_EXI_EXIERRORSTATUS_H_ 22 #if defined(_MSC_VER) && defined(nx_exi_EXPORTS) 23 #undef NLIB_VIS_PUBLIC 24 #define NLIB_VIS_PUBLIC NLIB_WINEXPORT 55 OUT_OF_MEMORY = kOutOfMemory,
56 ARGUMENT_ERROR = kArgumentError,
58 UNEXPECTED_EOS = kUnexpectedEos,
59 STREAM_DETACHED = kStreamDetached,
60 ILLEGAL_CHARACTER = kIllegalCharacter,
61 INTERNAL_ERROR = kInternalError,
62 NOT_SUPPORTED = kNotSupported,
63 DUPLICATE_ATTRIBUTE = kDuplicateAttribute,
64 RESERVED_PREFIX = kReservedPrefix,
65 UNDECLARING_PREFIX = kUndeclaringPrefix,
66 ATTRIBUTE_DEFAULT_NS = kAttributeDefaultNs,
67 ILLEGAL_COMMENT = kIllegalComment,
68 ILLEGAL_PI = kIllegalPi,
69 ILLEGAL_BINARY = kIllegalBinary,
70 ILLEGAL_BINARY_IDX = kIllegalBinaryIdx,
71 ILLEGAL_BINARY_EVT = kIllegalBinaryEvt,
72 SYNTAX_ERROR = kSyntaxError,
73 ILLEGAL_BINARY_HDR = kIllegalBinaryHdr,
74 FUNC_NOT_AVAILABLE = kFuncNotAvailable
82 bool SetError(ErrorValue e,
int line,
const char* filename)
NLIB_NOEXCEPT;
89 const
char* filename_;
95 #define NEXI_SET_ERROR(e) \ 96 (this->GetExiErrorStatus() ? this->GetExiErrorStatus()->SetError((e), __LINE__, __FILE__) \ 98 #define NEXI_IS_ERROR (nlib_is_error(*this->GetExiErrorStatus())) 99 #define NEXI_RESET_ERROR this->GetExiErrorStatus()->Reset() 100 #define NEXI_CHECK_OUT_OF_MEMORY \ 101 if (ExiAllocator::IsOutOfMemory()) NEXI_SET_ERROR(ExiErrorStatus::OUT_OF_MEMORY) 106 #if defined(_MSC_VER) && defined(nx_exi_EXPORTS) 107 #undef NLIB_VIS_PUBLIC 108 #define NLIB_VIS_PUBLIC NLIB_WINIMPORT 111 #endif // INCLUDE_NN_NLIB_EXI_EXIERRORSTATUS_H_ ExiErrorStatus() noexcept
コンストラクタです。
文字列型のtypedefやユーティリティマクロ等が定義されています。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
#define NLIB_SAFE_BOOL(class_name, exp)
クラス内に安全なoperator bool()を定義します。 可能であればC++11のexplicit boolを利用します。 ...
XMLパーサーが利用するアロケータを定義しています。
int GetLineNo() const noexcept
エラーを発生させたコードの行番号を返します。
const char * GetFileName() const noexcept
エラーを発生させたコードのファイル名を返します。
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
ErrorValue GetError() const noexcept
エラー状態を示す値を取得します。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。