3 #ifndef INCLUDE_NN_NLIB_OSS_LZ4INPUTSTREAM_H_ 4 #define INCLUDE_NN_NLIB_OSS_LZ4INPUTSTREAM_H_ 11 #if defined(_MSC_VER) && defined(nx_oss_lz4_EXPORTS) 12 #undef NLIB_VIS_PUBLIC 13 #define NLIB_VIS_PUBLIC NLIB_WINEXPORT 19 class Lz4OutputTransform;
25 pref_.frameInfo.blockMode = LZ4F_blockLinked;
26 pref_.compressionLevel = 9;
29 pref_.frameInfo.contentSize = size;
32 return pref_.frameInfo.contentSize;
39 pref_.compressionLevel = level;
42 return pref_.compressionLevel;
45 pref_.frameInfo.blockSizeID = max_block_size;
48 return pref_.frameInfo.blockSizeID;
51 pref_.frameInfo.blockMode = independence ? LZ4F_blockIndependent : LZ4F_blockLinked;
54 return (pref_.frameInfo.blockMode != LZ4F_blockLinked);
58 LZ4F_preferences_t pref_;
59 friend class Lz4OutputTransform;
68 return this->Init(settings);
73 struct Lz4OutputStreamPrivate;
74 Lz4OutputStreamPrivate* prv_;
81 #if defined(_MSC_VER) && defined(nx_oss_lz4_EXPORTS) 82 #undef NLIB_VIS_PUBLIC 83 #define NLIB_VIS_PUBLIC NLIB_WINIMPORT 86 #endif // INCLUDE_NN_NLIB_OSS_LZ4INPUTSTREAM_H_ Lz4OutputStreamSettings() noexcept
デフォルトコンストラクタです。
#define NLIB_OVERRIDE
利用可能であればoverrideが定義されます。そうでない場合は空文字列です。
uint64_t GetContentSize() const noexcept
SetContentSize()で設定された値を取得します。デフォルトは0です。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
void SetMaxBlockSize(LZ4F_blockSizeID_t max_block_size) noexcept
データブロックの最大サイズを設定します。大きいほど高速ですがメモリを必要とします。 ...
void SetContentSize(uint64_t size) noexcept
圧縮前のデータサイズをLZ4で圧縮されたデータに含めることができます。
Lz4OutputStreamの設定情報の取得と設定を行うクラスです。
内部でデータ変換を行うOutputStreamのように振る舞うクラスの基底です。
errno_t Init() noexcept
ストリームをデフォルトの設定で初期化します。
bool GetBlockIndependence() const noexcept
SetBlockIndependence()で設定された値を取得します。デフォルトはfalseです。
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_CEXPR
利用可能であればconstexprが定義されます。そうでない場合は空文字列です。
void SetBlockIndependence(bool independence) noexcept
圧縮されたデータブロックが独立して解凍可能かどうかを設定します。
LZ4F_blockSizeID_t GetMaxBlockSize() const noexcept
SetMaxBlockSize()で設定された値を取得します。デフォルトはLZ4F_defaultです。
LZ4のフレームフォーマットに従ったデータを書きこむためのストリームクラスです。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
constexpr Lz4OutputStream() noexcept
デフォルトコンストラクタです。更にInit()で初期化する必要があります。
int GetCompressionLevel() noexcept
SetCompressionLevel()で設定された値を取得します。デフォルトは9です。
void SetCompressionLevel(int level) noexcept
圧縮レベルを設定します。0-16の整数で数値が大きいほど圧縮率が高くなります。