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_ 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.
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.
#define NLIB_NOEXCEPT
Defines noexcept geared to the environment, or the equivalent.
#define NLIB_CEXPR
Defines constexpr if it is available for use. If not, holds an empty string.
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).
nlib_utf8_t ExiChar
A string-type typedef used internally by the XML parser.