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,
82 NEXI_INITIAL_STATE = -1
99 #ifdef NLIB_EXI_WCHAR_INTERFACE 100 #define NLIB_EXI_LITERAL(x) NLIB_EXI_STR(x) 101 #define NLIB_EXI_UTF8(x) ::nlib_ns::unicode::ToUtf8Obj(x).c_str() 102 #define NLIB_EXI_STRING(x) ::nlib_ns::unicode::ToWideObj(x).c_str() 104 #define NLIB_EXI_LITERAL(x) ::nlib_ns::unicode::ToUtf8Obj(L##x).c_str() 105 #define NLIB_EXI_UTF8(x) x 106 #define NLIB_EXI_STRING(x) ::nlib_ns::unicode::ToUtf8Obj(x).c_str() 111 #define NLIB_EXI_LITERAL(x) NLIB_EXI_STR(x) 112 #ifdef NLIB_EXI_WCHAR_INTERFACE 113 #define NLIB_EXI_UTF8(x) ::nlib_ns::unicode::ToUtf8Obj(x).c_str() 114 #define NLIB_EXI_STRING(x) ::nlib_ns::unicode::ToWideObj(x).c_str() 116 #define NLIB_EXI_UTF8(x) x 117 #define NLIB_EXI_STRING(x) ::nlib_ns::unicode::ToUtf8Obj(x).c_str() 125 #if defined(_MSC_VER) && defined(nx_exi_EXPORTS) 126 #undef NLIB_VIS_PUBLIC 127 #define NLIB_VIS_PUBLIC NLIB_WINIMPORT 130 #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ストリームを読み書きします(デフォルト)。
nlib_utf8_t ExiChar
XMLパーサーの内部文字列型のtypedefです。