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
Defines noexcept geared to the environment, or the equivalent.
Reads from and writes to a byte-aligned EXI stream.
Set of options that preserve the binary XML to read or write.
bool pis
Sets whether processing instructions are preserved.
constexpr Preserve(bool comments_, bool pis_, bool prefixes_) noexcept
Sets values to data members and initializes.
constexpr Preserve() noexcept
Instantiates the object with default parameters (default constructor). Sets all data members to false...
Unicode-related functionality is implemented.
#define NLIB_CEXPR
Defines constexpr if it is available for use. If not, holds an empty string.
Alignment
Specifies the alignment of the binary XML to read or write.
bool comments
Sets whether XML comments are preserved.
XmlProcessor
Option that specifies which XML processor to use.
A file that contains the configuration information for each development environment.
Wraps functions like strlen and strcpy so they can be safely used.
bool prefixes
Sets whether XML prefix names are preserved.
Reads from and writes to a bit-packed EXI stream (default).
wchar_t ExiChar
A string-type typedef used internally by the XML parser.