nlib
exiライブラリのマクロ

exiライブラリで定義されているマクロです。 [詳解]

マクロ定義

#define NLIB_EXI_LITERAL(x)   NLIB_EXI_STR(x)
 リテラル文字列をXMLパーサーの内部文字列型として渡せるように調整します。 [詳解]
 
#define NLIB_EXI_UTF8(x)   x
 XMLパーサーの内部文字列をUTF-8文字列として渡せるように調整します。 [詳解]
 
#define NLIB_EXI_STRING(x)   ::nlib_ns::unicode::ToUtf8Obj(x).c_str()
 UTF-8/UTF-16/UTF-32文字列をXMLパーサーの内部文字列型として渡せるように調整します。 [詳解]
 

詳解

exiライブラリで定義されているマクロです。

マクロ定義詳解

◆ NLIB_EXI_LITERAL

#define NLIB_EXI_LITERAL (   x)    NLIB_EXI_STR(x)

リテラル文字列をXMLパーサーの内部文字列型として渡せるように調整します。

引数
[in]xリテラル文字列
説明
例えば、NLIB_EXI_LITERAL("string")と記述したとして、内部文字列型がワイド文字列であれば、L"string"に、そうでなければ"string"になります。 ただし、Windowsの場合はワイド文字列(UTF-16)のリテラルからUTF-8に動的に変換されます。

Types.h111 行目に定義があります。

◆ NLIB_EXI_STRING

#define NLIB_EXI_STRING (   x)    ::nlib_ns::unicode::ToUtf8Obj(x).c_str()

UTF-8/UTF-16/UTF-32文字列をXMLパーサーの内部文字列型として渡せるように調整します。

引数
[in]x文字列
説明
文字列型が違う場合、変換して渡せるようにします。 ただし、SJISをUTF-8やUTF-16に変換するというようなことは行われません。

Types.h117 行目に定義があります。

◆ NLIB_EXI_UTF8

#define NLIB_EXI_UTF8 (   x)    x

XMLパーサーの内部文字列をUTF-8文字列として渡せるように調整します。

引数
[in]xXMLパーサーの内部文字列
説明
XMLパーサーの内部文字列がワイド文字列(UTF-16/UTF-32)であった場合、UTF-8に変換して取り出せるようにします。

Types.h116 行目に定義があります。