3 #ifndef INCLUDE_NN_NLIB_ZLIBINPUTSTREAM_H_
4 #define INCLUDE_NN_NLIB_ZLIBINPUTSTREAM_H_
15 typedef void* (*ReallocFunc)(
void* p,
size_t n);
24 buffer_size(64 * 1024),
30 buffer_size(buffer_size_),
36 buffer_size(buffer_size_),
37 realloc_func(realloc_func_) {}
44 typedef ZlibInputStreamSettings::ReallocFunc ReallocFunc;
48 virtual
errno_t Transform(InputStream* is,
void* p,
size_t nBytes,
49 size_t* written) NLIB_NOEXCEPT NLIB_OVERRIDE;
50 virtual
void* GetWorkBuffer(
size_t* n) NLIB_NOEXCEPT NLIB_OVERRIDE;
51 virtual
errno_t OnSetStream(InputStream* is) NLIB_NOEXCEPT NLIB_OVERRIDE;
52 virtual
errno_t OnClose() NLIB_NOEXCEPT NLIB_OVERRIDE;
56 ReallocFunc m_Realloc;
57 unsigned char* m_BufIn;
58 unsigned char* m_BufOut;
61 size_t m_BufOutDataSize;
62 bool m_IsInternalBuffer;
64 unsigned char m_BaseBuf[256];
78 return this->Init(settings);
81 return m_Transform.Init(settings);
91 #endif // INCLUDE_NN_NLIB_ZLIBINPUTSTREAM_H_
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
#define NLIB_OVERRIDE
利用可能であればoverrideが定義されます。そうでない場合は空文字列です。
#define NLIB_CEXPR
利用可能であればconstexprが定義されます。そうでない場合は空文字列です。