16 #ifndef INCLUDE_NN_NLIB_EXI_TYPES_H_ 17 #define INCLUDE_NN_NLIB_EXI_TYPES_H_ 23 #if defined(_MSC_VER) || defined(CAFE) || (defined(__GNUC__) && !defined(__clang__)) 24 #define NLIB_EXI_WCHAR_INTERFACE 27 #if defined(_MSC_VER) && defined(nx_exi_EXPORTS) 28 #undef NLIB_VIS_PUBLIC 29 #define NLIB_VIS_PUBLIC NLIB_WINEXPORT 35 #ifdef NLIB_EXI_WCHAR_INTERFACE 37 #define NLIB_EXI_ESTR L"" 38 #define NLIB_EXI_STR(x) L##x 41 #define NLIB_EXI_ESTR "" 42 #define NLIB_EXI_STR(x) x 56 : comments(comments_),
67 NEXI_START_DOCUMENT = 0,
69 NEXI_ATTRIBUTE_UNDECLARED,
71 NEXI_START_ELEMENT_UNDECLARED,
72 NEXI_START_ELEMENT_UNDECLARED_DOCCONTENT,
74 NEXI_CHARACTERS_UNDECLARED,
76 NEXI_END_ELEMENT_UNDECLARED,
78 NEXI_PROCESSING_INSTRUCTION,
98 #ifdef NLIB_EXI_WCHAR_INTERFACE 99 #define NLIB_EXI_LITERAL(x) NLIB_EXI_STR(x) 100 #define NLIB_EXI_UTF8(x) ::nlib_ns::unicode::ToUtf8Obj(x).c_str() 101 #define NLIB_EXI_STRING(x) ::nlib_ns::unicode::ToWideObj(x).c_str() 103 #define NLIB_EXI_LITERAL(x) ::nlib_ns::unicode::ToUtf8Obj(L##x).c_str() 104 #define NLIB_EXI_UTF8(x) x 105 #define NLIB_EXI_STRING(x) ::nlib_ns::unicode::ToUtf8Obj(x).c_str() 110 #define NLIB_EXI_LITERAL(x) NLIB_EXI_STR(x) 111 #ifdef NLIB_EXI_WCHAR_INTERFACE 112 #define NLIB_EXI_UTF8(x) ::nlib_ns::unicode::ToUtf8Obj(x).c_str() 113 #define NLIB_EXI_STRING(x) ::nlib_ns::unicode::ToWideObj(x).c_str() 115 #define NLIB_EXI_UTF8(x) x 116 #define NLIB_EXI_STRING(x) ::nlib_ns::unicode::ToUtf8Obj(x).c_str() 124 #if defined(_MSC_VER) && defined(nx_exi_EXPORTS) 125 #undef NLIB_VIS_PUBLIC 126 #define NLIB_VIS_PUBLIC NLIB_WINIMPORT 129 #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です。