3 #ifndef INCLUDE_NN_NLIB_EXI_TYPES_H_
4 #define INCLUDE_NN_NLIB_EXI_TYPES_H_
10 #if defined(_MSC_VER) || defined(NLIB_CAFE_PPC) || (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_
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
バイトアラインされたEXIストリームを読み書きします。
読み書きするバイナリXMLのデータ保持オプションです。
bool pis
Processing Instructionを保持するかどうか設定します。
constexpr Preserve(bool comments_, bool pis_, bool prefixes_) noexcept
データメンバに値を設定して初期化します。
constexpr Preserve() noexcept
デフォルトコンストラクタです。全てのデータメンバにfalseを設定します。
#define NLIB_CEXPR
利用可能であればconstexprが定義されます。そうでない場合は空文字列です。
Alignment
読み書きするバイナリXMLのアライメントを指定します。
bool comments
XMLコメントを保持するかどうか設定します。
XmlProcessor
利用するXmlプロセッサの指定オプションです。
strlen, strcpy等を安全に使えるようにラップしています。
bool prefixes
XMLのプレフィックス名を保持するかどうか設定します。
ビット単位にデータが詰められたEXIストリームを読み書きします(デフォルト)。
wchar_t ExiChar
XMLパーサーの内部文字列型のtypedefです。