内部でデータ変換を行う InputStream のように振る舞うクラスの基底です。
[詳解]
#include "nn/nlib/InputConverterStream.h"
内部でデータ変換を行う InputStream のように振る舞うクラスの基底です。
- 説明
SetStream()
関数を用いて入力ストリームを設定しデータを読み込むと、データ変換の結果をInputStream
のインターフェイスで読み込むことができます。 通常、ユーザーが直接利用することはありません。
- 何も変換しない(最も単純な)データ変換のためのコードは以下のような形になります。
class NoInputTransform : public InputTransform {
public:
NoInputTransform() {}
*nBytes = is->Read(p, size);
if (*nBytes == 0) return is->GetErrorValue();
return 0;
}
virtual void* GetWorkBuffer(size_t* n) {
*n = 128;
return buf_;
}
return 0;
}
return 0;
}
private:
unsigned char buf_[128];
};
typedef InputConverterStreamTempl<NoInputTransform> NoConvertInputStream;
InputConverterStream.h の 35 行目に定義があります。
§ GetStream()
nn::nlib::InputConverterStream::GetStream |
( |
| ) |
const |
|
inlinenoexcept |
§ SetStream()
nn::nlib::InputConverterStream::SetStream |
( |
InputStream * |
istr | ) |
|
|
noexcept |
変換前のデータを読み込む入力ストリームを設定します。
- 引数
-
[in] | istr | 変換前のデータを読み込むストリームへのポインタ |
- 戻り値
-
0 | エラーがない場合 |
EEXIST | 既にストリームがセットされている場合 |
EINVAL | istr がNULL だった場合 |
EBADF | SetTransform() が未実行の場合 |
ENOMEM | ワークメモリの確保に失敗した場合 |
このクラス詳解は次のファイルから抽出されました: