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
Defines noexcept geared to the environment, or the equivalent.
#define NLIB_FINAL
Defines final if it is available for use. If not, holds an empty string.
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
Prohibits use of the copy constructor and assignment operator for the class specified by TypeName...
#define NLIB_OVERRIDE
Defines override if it is available for use. If not, holds an empty string.
#define NLIB_CEXPR
Defines constexpr if it is available for use. If not, holds an empty string.