3 #ifndef INCLUDE_NN_NLIB_EXI_TYPES_H_ 4 #define INCLUDE_NN_NLIB_EXI_TYPES_H_ 10 #if defined(_MSC_VER) || defined(CAFE) || (defined(__GNUC__) && !defined(__clang__)) 11 #define NLIB_EXI_WCHAR_INTERFACE 14 #if defined(_MSC_VER) && defined(nx_exi_EXPORTS) 15 #undef NLIB_VIS_PUBLIC 16 #define NLIB_VIS_PUBLIC NLIB_WINEXPORT 22 #ifdef NLIB_EXI_WCHAR_INTERFACE 24 #define NLIB_EXI_ESTR L"" 25 #define NLIB_EXI_STR(x) L##x 28 #define NLIB_EXI_ESTR "" 29 #define NLIB_EXI_STR(x) x 43 : comments(comments_),
54 NEXI_START_DOCUMENT = 0,
56 NEXI_ATTRIBUTE_UNDECLARED,
58 NEXI_START_ELEMENT_UNDECLARED,
59 NEXI_START_ELEMENT_UNDECLARED_DOCCONTENT,
61 NEXI_CHARACTERS_UNDECLARED,
63 NEXI_END_ELEMENT_UNDECLARED,
65 NEXI_PROCESSING_INSTRUCTION,
85 #ifdef NLIB_EXI_WCHAR_INTERFACE 86 #define NLIB_EXI_LITERAL(x) NLIB_EXI_STR(x) 87 #define NLIB_EXI_UTF8(x) ::nlib_ns::unicode::ToUtf8Obj(x).c_str() 88 #define NLIB_EXI_STRING(x) ::nlib_ns::unicode::ToWideObj(x).c_str() 90 #define NLIB_EXI_LITERAL(x) ::nlib_ns::unicode::ToUtf8Obj(L##x).c_str() 91 #define NLIB_EXI_UTF8(x) x 92 #define NLIB_EXI_STRING(x) ::nlib_ns::unicode::ToUtf8Obj(x).c_str() 97 #define NLIB_EXI_LITERAL(x) NLIB_EXI_STR(x) 98 #ifdef NLIB_EXI_WCHAR_INTERFACE 99 #define NLIB_EXI_UTF8(x) ::nlib_ns::unicode::ToUtf8Obj(x).c_str() 100 #define NLIB_EXI_STRING(x) ::nlib_ns::unicode::ToWideObj(x).c_str() 102 #define NLIB_EXI_UTF8(x) x 103 #define NLIB_EXI_STRING(x) ::nlib_ns::unicode::ToUtf8Obj(x).c_str() 111 #if defined(_MSC_VER) && defined(nx_exi_EXPORTS) 112 #undef NLIB_VIS_PUBLIC 113 #define NLIB_VIS_PUBLIC NLIB_WINIMPORT 116 #endif // INCLUDE_NN_NLIB_EXI_TYPES_H_ バイトアラインされたEXIストリームを読み書きします。
読み書きするバイナリXMLのデータ保持オプションです。
bool pis
Processing Instructionを保持するかどうか設定します。
constexpr Preserve(bool comments_, bool pis_, bool prefixes_) noexcept
データメンバに値を設定して初期化します。
constexpr Preserve() noexcept
デフォルトコンストラクタです。全てのデータメンバにfalseを設定します。
Alignment
読み書きするバイナリXMLのアライメントを指定します。
bool comments
XMLコメントを保持するかどうか設定します。
XmlProcessor
利用するXmlプロセッサの指定オプションです。
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_CEXPR
利用可能であればconstexprが定義されます。そうでない場合は空文字列です。
strlen, strcpy等を安全に使えるようにラップしています。
bool prefixes
XMLのプレフィックス名を保持するかどうか設定します。
ビット単位にデータが詰められたEXIストリームを読み書きします(デフォルト)。
wchar_t ExiChar
XMLパーサーの内部文字列型のtypedefです。