3 #ifndef INCLUDE_NN_NLIB_ZLIBOUTPUTSTREAM_H_ 4 #define INCLUDE_NN_NLIB_ZLIBOUTPUTSTREAM_H_ 16 typedef void* (*ReallocFunc)(
void* p,
size_t n);
26 buffer_size(64 * 1024),
32 buffer_size(buffer_size_),
39 buffer_size(buffer_size_),
41 realloc_func(realloc_func_) {}
50 return this->Init(settings);
55 struct ZlibOutputStreamPrivate;
56 ZlibOutputStreamPrivate* prv_;
63 #endif // INCLUDE_NN_NLIB_ZLIBOUTPUTSTREAM_H_ #define NLIB_OVERRIDE
利用可能であればoverrideが定義されます。そうでない場合は空文字列です。
errno_t Init() noexcept
デフォルト設定で初期化します。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
ZlibOutputStream() noexcept
デフォルトコンストラクタです。
void * buf_out
z_stream::next_outに設定されるバッファです。
void * buf_in
z_stream::next_inに設定されるバッファです。
size_t buffer_size
ZlibOutputStreamSettings::buf_in, ZlibOutputStreamSettings::buf_outのバッファサイズです。 ...
ReallocFunc realloc_func
ZlibOutputStream内部で利用するrealloc又はreallocと同等の関数です。
内部でデータ変換を行うOutputStreamのように振る舞うクラスの基底です。
constexpr ZlibOutputStreamSettings() noexcept
デフォルトコンストラクタです。デフォルト値を設定します。
constexpr ZlibOutputStreamSettings(void *buf_in_, void *buf_out_, size_t buffer_size_, int level_) noexcept
それぞれのデータメンバを設定します。
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_CEXPR
利用可能であればconstexprが定義されます。そうでない場合は空文字列です。
ZlibOutputStreamの各種設定が格納されている構造体です。コンストラクト時にはデフォルトの設定が格納され...
zlibを用いてデータを圧縮してストリームに書き込みます。
int level
zlibのdeflateInit2関数に渡す圧縮設定です。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
constexpr ZlibOutputStreamSettings(void *buf_in_, void *buf_out_, size_t buffer_size_, int level_, ReallocFunc realloc_func_) noexcept
それぞれのデータメンバを設定します。