nlib
nn::nlib::oss::Lz4OutputStream クラスfinal

LZ4のフレームフォーマットに従ったデータを書きこむためのストリームクラスです。 [詳解]

#include "nn/nlib/oss/Lz4OutputStream.h"

+ nn::nlib::oss::Lz4OutputStream の継承関係図

公開メンバ関数

errno_t Init () noexcept
 ストリームをデフォルトの設定で初期化します。 [詳解]
 
errno_t Init (const Lz4OutputStreamSettings &settings) noexcept
 ストリームを初期化します。 [詳解]
 
基本的なメンバ関数
constexpr Lz4OutputStream () noexcept
 デフォルトコンストラクタです。更にInit()で初期化する必要があります。
 
virtual ~Lz4OutputStream () noexcept override
 デストラクタです。未クローズの場合はストリームがクローズされますが、エラーを取得できないので明示的にクローズしてください。
 
- 基底クラス nn::nlib::OutputConverterStream に属する継承公開メンバ関数
errno_t SetStream (OutputStream *ostr) noexcept
 ベースとなる出力ストリームを設定します。 [詳解]
 
OutputStreamGetStream () const noexcept
 ベースとなる入力ストリームを取得します。 [詳解]
 
- 基底クラス nn::nlib::OutputStream に属する継承公開メンバ関数
size_t Pos () const noexcept
 ストリーム上の現在位置を返します。 [詳解]
 
uint64_t Pos64 () const noexcept
 ストリーム上の現在位置を64bit整数で返します。 [詳解]
 
bool Write (int b) noexcept
 ストリームに1バイトのデータを書き込みます。 [詳解]
 
bool Write (const void *p, size_t n) noexcept
 ストリームにn バイトのデータを書き込みます。 [詳解]
 
bool WriteGather (const nlib_fd_iovec *iov, int iovcnt) noexcept
 複数の非連続のバッファからデータをストリームに書き出します。 [詳解]
 
bool Flush () noexcept
 ストリームをフラッシュします。 [詳解]
 
bool Close () noexcept
 ストリームをフラッシュした後、ストリームを閉じます。成功した場合にはtrueを返します。 [詳解]
 
errno_t GetErrorValue () const noexcept
 エラー値を取得します。 [詳解]
 
BufferingMode GetBufferingMode () const noexcept
 バッファリングモードを取得します。
 
 operator bool () const
 内部でエラーが発生していなければtrueを返します。
 
constexpr OutputStream () noexcept
 デフォルトコンストラクタです。
 
virtual ~OutputStream () noexcept
 デストラクタです。何もしません。
 

その他の継承メンバ

- 基底クラス nn::nlib::OutputStream に属する継承公開型
enum  BufferingMode {
  kBufferingModeBlockBuffered = 0,
  kBufferingModeLineBuffered,
  kBufferingModeUnbuffered
}
 OutputStreamのバッファリングモードです。 [詳解]
 
- 基底クラス nn::nlib::OutputStream に属する継承限定公開メンバ関数
void ResetBuffer (void *p, size_t nbytes) noexcept
 OutputStreamが持つバッファを設定します。 [詳解]
 
void SetError (errno_t e) const noexcept
 OutputStreamにエラーを設定します。 [詳解]
 
- 基底クラス nn::nlib::OutputStream に属する継承限定公開変数類
BufferingMode m_BufferingMode
 バッファリングモードが格納されています。 [詳解]
 

詳解

LZ4のフレームフォーマットに従ったデータを書きこむためのストリームクラスです。

説明
LZ4のフレームフォーマットはマルチスレッドでのエンコードにも対応していますが、このクラスはシングルスレッドでのみ動作します。
オブジェクトの状態遷移
オブジェクトの状態遷移の概略は以下のとおりです。
dot_inline_dotgraph_16.png

Lz4OutputStream.h62 行目に定義があります。

関数詳解

◆ Init() [1/2]

nn::nlib::oss::Lz4OutputStream::Init ( )
inlinenoexcept

ストリームをデフォルトの設定で初期化します。

戻り値
0成功しました。
ENOMEMメモリの確保に失敗しました。
EALREADY既に初期化されています。

Lz4OutputStream.h66 行目に定義があります。

◆ Init() [2/2]

nn::nlib::oss::Lz4OutputStream::Init ( const Lz4OutputStreamSettings settings)
noexcept

ストリームを初期化します。

引数
[in]settings初期化オプション
戻り値
0成功しました。
EINVAL設定が不正です。
ENOMEMメモリの確保に失敗しました。
EALREADY既に初期化されています。

このクラス詳解は次のファイルから抽出されました: