3 #ifndef INCLUDE_NN_NLIB_WCHARINPUTSTREAM_H_
4 #define INCLUDE_NN_NLIB_WCHARINPUTSTREAM_H_
16 typedef errno_t (*Func)(InputStream* istr, char (&utf8)[4],
int* n);
19 virtual errno_t Transform(InputStream* is,
void* p,
size_t size,
21 virtual void* GetWorkBuffer(
size_t* n) NLIB_NOEXCEPT
NLIB_OVERRIDE;
23 virtual errno_t OnClose() NLIB_NOEXCEPT NLIB_OVERRIDE;
27 unsigned char m_NumUtf8;
29 unsigned char m_Buf[128];
36 Utf32InputTransform() NLIB_NOEXCEPT;
41 Utf16InputTransform() NLIB_NOEXCEPT;
47 typedef InputConverterStreamTempl<detail::Utf32InputTransform> Utf32InputStream;
48 typedef InputConverterStreamTempl<detail::Utf16InputTransform> Utf16InputStream;
49 #if NLIB_WCHAR_SIZE == 4
50 typedef Utf32InputStream WcharInputStream;
52 typedef Utf16InputStream WcharInputStream;
56 class Utf32InputStream :
61 class Utf16InputStream :
66 #if NLIB_WCHAR_SIZE == 4
67 class WcharInputStream
NLIB_FINAL :
public Utf32InputStream {
71 class WcharInputStream
NLIB_FINAL :
public Utf16InputStream {
79 #endif // INCLUDE_NN_NLIB_WCHARINPUTSTREAM_H_
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
#define NLIB_OVERRIDE
利用可能であればoverrideが定義されます。そうでない場合は空文字列です。